Soy nuevo en el mundo de la informática pues acabo de entrar a la ingeniería informática como tal.
Soy abogado de profesión e informático por convicción. Pero había estado dudando sobre la viabilidad, al menos por la edad, de cursar dicha "carrera", pero se dio la oportunidad y heme aquí.
Por otra parte, tengo dudas sobre éste código que he estado redactando. Se supone que debe arrojar el promedio, la moda, la desviación estándar, acomodar los dígitos de mayor a menor y viceversa, además de sólo poder ingresar números excluyendo las letras. Pero, por más que lo muevo, no logro dar con alguna solución para la moda, la desviación estándar ni la exclusión de letras. He borrado el ciclo de la desviación estándar pues no compila al redactarlo. Agradecería sobremanera los aportes al respecto
Así, sin más qué agregar, les dejo el código.
Código
#include <stdio.h> #include <stdlib.h> #include <conio.h> #define Max_Calificacion 20 #define CLEAR "cls" #ifdef _WIN32 #else #endif int calificacion[Max_Calificacion]; int i,j,aux; int suma; float promedio; int rango; int mas_grande; int valor_moda; int frecuencia[Max_Calificacion]={0}; int mayor=0; int menor=100; char Repetir; int main() { do { for(i=0; i<Max_Calificacion; i++) { printf("Ingresa las calificaciones\n\n"); printf("Calificacion No.%d ", i+1); scanf("%d", &calificacion[i]); if(calificacion[i]<=100) { if(calificacion[i]>0) { system("cls"); } system("cls"); } else{ printf("Eso no es valido"); getch(); i--; } system("cls"); } for(i=0; i<Max_Calificacion; i++) { suma=suma+calificacion[i]; } promedio=suma/Max_Calificacion; system("cls"); printf("Resultados"); for(i=0; i<Max_Calificacion; i++) { printf("\nLa calificacion No.%d es %d", i+1, calificacion[i]); } getch(); system("cls"); for(i=0; i<Max_Calificacion; i++) { for(j=i+1; j<Max_Calificacion; j++) { if(calificacion[i]<calificacion[j]) { aux=calificacion[i]; calificacion[i]=calificacion[j]; calificacion[j]=aux; } } } printf("Ordenados de mayor a menor\n\n"); for(i=0; i<Max_Calificacion; i++) { printf("%d, ", calificacion[i]); } getch(); system("cls"); for(i=0; i<Max_Calificacion; i++) { for(j=i+1; j<Max_Calificacion; j++) { if(calificacion[i]>calificacion[j]) { aux=calificacion[i]; calificacion[i]=calificacion[j]; calificacion[j]=aux; } } } printf("Ordenados de menor a mayor\n\n"); for(i=0; i<Max_Calificacion; i++) { printf("%d, ", calificacion[i]); } getch(); system("cls"); printf("Promedio\n\n"); printf("El promedio es %f", promedio); getch(); system("cls"); printf("Moda\n\n"); for(i=0; i<Max_Calificacion; i++) { frecuencia[calificacion[i]]++; } for (rango = 1; rango <= Max_Calificacion; rango++) { if (frecuencia[rango] > mas_grande ) { mas_grande = frecuencia[rango]; valor_moda = rango; } } printf("La moda es %d", valor_moda); getch(); system("cls"); printf("Numero mayor\n\n"); for (i=0; i<Max_Calificacion; i++) { if (calificacion[i] > mayor) { mayor=calificacion[i]; } } printf("El mayor es %d\n", mayor); getch(); system("cls"); printf("Numero menor\n\n"); for (i=0; i<Max_Calificacion; i++) { if (calificacion[i] < menor) { menor=calificacion[i]; } } printf("El menor es %d\n", menor); getch(); system("cls"); printf("\n\n\tRepetir Programa (S) ?: "); scanf("%s", &Repetir); system("cls"); } while (Repetir == 'S' || Repetir == 's'); printf("Adios"); getch(); return 0; }