Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: califvv en 8 Diciembre 2012, 22:50 pm



Título: Hola chicos, ayudita porfa con este codigo que llevo. solo faltan 2 cositas
Publicado por: califvv en 8 Diciembre 2012, 22:50 pm
 Se tiene almacenado en memoria en un arreglo de una dimensión las notas de 50 alumnos del primer parcial correspondiente a la asignatura “Algebra¨. Mostrar:

a) La mayor nota

b) El porcentaje de alumnos que aprobaron el parcial con nota superior a 6

c) El promedio de las notas

d) En qué posición del arreglo se encuentra la menor nota.

Solo falta la opcion a) la mayor nota
y la d) en que posicion del arreglo esta la menor nota
Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n [50], aprobados, reprobados, may6;
  8. float calificaciones[50];
  9. float p_aprobados, p_reprobados;
  10. aprobados = reprobados = may6 = 0;
  11. float promedio=0;
  12.  
  13. cout<<"\nIngrese el numero de alumnos no mayor a 50:\n\t";
  14. cin>>n [50];
  15. for(int i=0; i<50; i++)
  16. {
  17. cout<<"\nIngrese la calificacion del alumno numero "<<i+1<<":\t";
  18. cin>>calificaciones[i];
  19. promedio=promedio+calificaciones[i];
  20. if(calificaciones[i]<7)
  21. {
  22. reprobados = reprobados+1;
  23. } else if(calificaciones[i]>=7 && calificaciones[i]<=10)
  24. {
  25. aprobados = aprobados+1;
  26. }
  27. if(calificaciones[i]>=6)
  28. {
  29. may6 = may6+1;
  30. }
  31. }
  32. promedio=promedio/n [50];
  33. p_aprobados=aprobados*100/n [50];
  34.  
  35. cout<<"\nSolamente "<<may6<<" alumnos tuvieron calificacion mayor a 6.\n\n";
  36. cout<<"\nLa cantidad de aprobados es de "<<aprobados<<", lo que representa el "<<p_aprobados<<"%.";
  37. cout<<"\n\nEl promedio general de las notas es: "<<promedio<<".";
  38.  
  39. system("pause");
  40. return 0;
  41. }

Jaja de ahi no llego a mas  :-[
si alguien puede ayudarme seria super  >:(, gracias chicos.


Título: Re: Hola chicos, ayudita porfa con este codigo que llevo. solo faltan 2 cositas
Publicado por: Ferno en 9 Diciembre 2012, 00:33 am
Simplemente es necesario tener tres variables.
Una que te guarde la mayor nota (es decir, tener una variable "mayor" que, cuando se ingresa una nota, compararla con la misma; si la nota ingresada es mayor a la que ya estaba, entonces le asignas dicha nota a mayor), y otras dos que te guarden, uno la menor nota para ir comparando con las demás notas que ingresan, y el otro la posición del arreglo a la cual pertenece dicha nota (en tu code, sería asignarle "i"). Es decir que ademas de los if's que ya tienes, hay que agregar un par más para comparar con las notas mayor y menor.


Título: Re: Hola chicos, ayudita porfa con este codigo que llevo. solo faltan 2 cositas
Publicado por: califvv en 9 Diciembre 2012, 00:46 am
Muchas gracias  ;-) pero como lo redacto? estoy empezando  >:(


Título: Re: Hola chicos, ayudita porfa con este codigo que llevo. solo faltan 2 cositas
Publicado por: -dominique- en 9 Diciembre 2012, 03:08 am
Hola, es como dice Ferno. Tienes que agregar otros if's. Asi seria, defines 3 variales mas. y luego preguntas.

int may=0, men=99, pos=0;

if(clasificaciones>may){
  may=clasificaciones;
}
if(clasificaciones<men){
  men=clasificaciones;
  pos=i;
}

Espero que te sirva.  :D


Título: Re: Hola chicos, ayudita porfa con este codigo que llevo. solo faltan 2 cositas
Publicado por: califvv en 9 Diciembre 2012, 03:21 am
Hola chicos, gracias por sus respuestas.
Excelenteeee!!!! Gracias mil graciasss!!!! ;-) ;-) ;-) ;-) ;-)