Cool C/C++

Programacion en C/C++

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

Ayuda con un programa
(1 viendo) (1) Invitado
AbajoPágina: 1
TEMA: Ayuda con un programa
#26
Ayuda con un programa Creado el día: 13/04/2011 00:23 Karma: 0
Necesito ayuda en este programa de matrices:
en una matriz 5*12

1.Imprimir todas las inciales de las mujeres
2. Imprima el promedio de las edades de los hombres.
3.Imprima el promedio de los salarios de todas las mujeres que empiezan con [a].
4.El promedio global de los salarios

Aqui tengo la parte de pedir los datos, tengo algo malo no que es, utilizo codeblocks.


#include <stdio.h>
#include <string.h>
#define N 5
#define M 12

main()
{
int id[N],ed[N],i,j;
char ts[N],na[N][30];
float sa[N][M];

for(i=0;i<N;i++)


{
printf("de el id: ");
scanf("%d", &id[i]);
printf("de el nombre y apellido: ");
scanf(" [^\n]",na[i]);
printf("de el tipo de sexo: ");
scanf("%c",&ts[i]);
printf("de la edad: ");
scanf("%d", &ed[i]);

for(j=0;j<M;j++)
{
printf("de el salario: ");
scanf("%f",&sa[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.
 
#27
Re: Ayuda con un programa Creado el día: 13/04/2011 09:08 Karma: 2
Para leer cadenas es mejor si usas gets, algo así:

Cambia:

scanf(" [^\n]",na[i]);

Por esto:

fflush(stdin);
gets(na[i]);


Los puntos 1 al 4 quedarían del siguiente modo:

Punto 1

for(i=0; i<N; i++)
if(ts[i] == 'M' || ts[i] == 'm') /* Mujeres */
printf("%c\n", na[i][0]);


Punto 2

int suma_edades_hombres = 0;
int num_hombres = 0;
 
for(i=0; i<N; i++)
if(ts[i] == 'H' || ts[i] == 'h') /* Hombres */
{
suma_edades_hombres += ed[i];
num_hombres ++;
}
printf("Promedio edad: %d", suma_edades/num_hombres);



Punto 3

float suma_salario_mujeres = 0;
int num_salario_mujeres = 0;
 
for(i=0; i<N; i++)
if(ts[i] == 'M' || ts[i] == 'm') /* Mujeres */
{
if(na[i][0] == 'a') /* Nombre empieza con a */
{
for(j=0; j<M; j++)
{
suma_salario_mujeres += sa[i][j];
num_salario_mujeres++;
}
}
}
 
printf("Promedio salario: %f", suma_salario_mujeres/num_salario_mujeres);


Punto 4

float suma_salario = 0;
int num_salario = 0;
 
for(i=0; i<N; i++)
for(j=0; j<M; j++)
{
suma_salario += sa[i][j];
num_salario++;
}
 
printf("Promedio salario: %f", suma_salario/num_salario);


Un saludo,
adrianvaca
Administrador
Mensajes: 110
graph
Usuario Offline Presiona aquí para ver el perfil de este usuario
Última edición: 13/04/2011 09:14 por adrianvaca.
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