Cool C/C++

Programacion en C/C++

Home Foros
Bienvenido, Invitado
Por favor Identificarse o Registrarse.    Contraseña olvidada?

Ayuda urgente porfavor en arreglos.
(1 viendo) (1) Invitado
AbajoPágina: 1
TEMA: Ayuda urgente porfavor en arreglos.
#63
Ayuda urgente porfavor en arreglos. Creado el día: 12/05/2011 14:58 Karma: 0
Ayuda con estos programas:

1.Preguntar un id y luego imprimir en que mes obtuvo el mejor salario este, el mes debe estar representado en indices, ejemplo tal ID Obtuvo su mejor salario en casilla 0,0.
2.Preguntar un mes y luego imprimir el salario de las muejeres que estan solo en ese mes.
3.Preguntar el nombre deseado y luego imprimir el promedio de los salarios que tienen ese nomnbre.

Aqui esta el arreglo lleno, utilizo codeblocks, ayuda porfavor, Gracias.

#include<stdio.h>
#define N 99
#define M 12
main()
{
int id[N],ed[N],i,j,c=0,cd,cm;
char ts[N],na[N][30];
float sal[N][M],s,p;
printf("De la cantidad de datos: ");
scanf("%d",&cd);
for(i=0;i<cd;i++)
{
printf("id: ");
scanf(" %d",&id[i]);
printf("de nombre y apellido: ");
scanf(" %[^\n]",na[i]);
printf("Tipo de sexo: F o M ");
scanf(" %c",&ts[i]);
printf("de la edad: ");
scanf(" %d",&ed[i]);
printf("De la cantidad de meses que tarbajo: ");
scanf("%d",&cm);
for(j=0;j<cm;j++)
{
printf("salario del mes %d:",j+1);
scanf("%f",&sal[i][j]);
}
}
koc
Navegador Iniciado
Mensajes: 15
graphgraph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
 
#65
Re: Ayuda urgente porfavor en arreglos. Creado el día: 12/05/2011 17:07 Karma: 2
Bien,

En primer lugar necesitamos un arreglo para el número de meses por empleado, para lo cual cambia el:

cm


Por:

cm[N]


Y la lectura de datos, cambia:

scanf("%d",&cm);


Por:

scanf("%d",&cm[i]);


Y por último cambia:

for(j=0;j<cm;j++)


Por:

for(j=0;j<cm[i];j++)


Ahora, el primer punto se puede resolver del siguiente modo:

int idb;
 
/* Lectura de id */
printf("Ingrese id: ");
scanf("%d", &idb);
 
/* Posición de id buscado -> i */
for(i=0; i<cd; i++)
if(id[i] == idb)
{
break;
}
 
 
/* Encontrado */
if(i < cd)
{
/* Asume primero mes como mejor salario */
int pos = 0;
 
/* Busca posicion del mejor salario */
for(j=1; j<cm[i]; j++)
if(sal[i][j] > sal[i][pos])
pos = j;
 
/* Muestra mejor salario */
printf("El mejor salario fue en el mes %d y fue de %f", pos, sal[i][pos]);
}
adrianvaca
Administrador
Mensajes: 110
graph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
El conocimiento es una forma de empezar a ser libre
 
ArribaPágina: 1
obtén los últimos mensajes directamente en tu escritorio