Puzky escribió:Profe no entendí muy bien lo que son los structs
Es una forma de declarar una plantilla. Después crearás digamos variables de ese tipo estructura que has creado que tienen esa forma(estructura) común, como ocurre con los personajes.
De esa forma no tienes que estar creando, una variable para nombre, apellidos y etc, por cada uno de los personajes.
Puzky, ¿recuerdas el símil de las variables con los cajones? Pues imagina que un struct es un armario con varios cajones, cada uno de los cuales tiene un nombre. Por tanto un struct es en realidad una variable con varias variables dentro de sí misma, cada una con su nombre.
Un unsigned int es un entero sin signo, su rango es, en 32 bits: [0, 2^32], mientras que un int es: [-2^16, 2^16 - 1] Y supongo, por el nombre de las variables, que como son valores que nunca son negativos, pues mejor usar unsigned.
En cuanto a lo del nombre, tu le puedes poner el nombre que quieras, no tiene que tener esa t delante.
int main(int argc, char* argv[]) { int max = 0, min = 50, i = 0, modamax = 0, modamin = 0, a = 0, b = 0; int num[50]; float media = 0;
srand(time(NULL));
while (i<50) num[i++] = (rand() % 50) + 1;
for (i=0;i<50;i++) { media = media + num[i]; if (num[i] > max) max = num[i]; if (num[i] < min) min = num[i]; }
media = media / 50;
for (i=0;i<50;i++) { if (num[i] == max) modamax++; if (num[i] == min) modamin++; }
int maxv[modamax]; int minv[modamin];
for (i=0;i<50;i++) { if (num[i] == max) maxv[a++] = i + 1; if (num[i] == min) minv[b++] = i + 1; }
printf("Los 50 numeros son:\n"); for (i=0;i<50;i++) { if ((i == 10)||(i == 20)||(i == 30)||(i == 40)) printf("\n");
printf("%d ", num[i]); }
printf("\n\nLa media de los 50 numeros es %.2f.", media);
if (modamax != 1) { printf("\n\nEl numero mayor es el %d y se repite %d veces en las posiciones ", max, modamax); for (i=0;i<modamax;i++) { if (i < (modamax - 1)) printf("%d ", maxv[i]); else printf("y %d.", maxv[i]); } } else printf("\n\nEl numero mayor es el %d y se repite 1 vez en la posicion %d.", max, maxv[0]);
if (modamin != 1) { printf("\n\nEl numero menor es el %d y se repite %d veces en las posiciones ", min, modamin); for (i=0;i<modamin;i++) { if (i < (modamin - 1)) printf("%d ", minv[i]); else printf("y %d.", minv[i]); } } else printf("\n\nEl numero menor es el %d y se repite 1 vez en la posicion %d.", min, minv[0]);
return 0; }
A ver profe que opinas de este Espero que esté bien xD Un saludo a todos.
EDITO: lo tengo mal hecho que pensaba que la moda era las veces que se repite un número, por lo que hice las veces que se repite el mayor y las veces que se repite el menor. Hoy de tarde me pondré a mirar como hacer la moda correcta Un saludo