elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Metodo Burbuja Elementos repetidos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Metodo Burbuja Elementos repetidos  (Leído 1,750 veces)
leopaez

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Metodo Burbuja Elementos repetidos
« en: 10 Diciembre 2016, 18:17 pm »

Cordial saludo, por favor. Se tiene 2 arreglos uno para estudiantes y otro para notas, se desea organizar la información extrayendo los estudiantes junto con sus notas que perdieron la materia (notas <3). Se utiliza el metodo burbuja, el problema es cuando existen 2 notas con el mismo valor, en ese caso aparecerian no 2 veces sino 4 veces. Como se podria realizar ? De atemano muchas gracias.

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <cstring>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. void registrarDatos(); //Funcion para registrar los datos
  10. void mostrarDatos(); //Funcion para mostrar los datos
  11. void   estudiantesPerdieron(); //Funcion para mostrar los estudiantes que perdieron el curso
  12. void promedioNotas();     //Funcion para imprimir el articuo de mayor valor y su valor
  13.  
  14. int opcion, i, j, n;     //Declaracion de variables
  15. string *a=NULL;
  16. float *b=NULL;
  17. float *auxiliarPerdieron=NULL;
  18. int numeroPerdieron;
  19.  
  20.  
  21.  
  22.  
  23.  
  24. int main()
  25. {
  26. system("color 3f"); //Asignación color de fondo
  27.        system("CLS");       //Limpiar pantalla
  28.  
  29.  
  30.        do     //realizar mientras sea diferente de 6
  31. {
  32. system("CLS");
  33.  
  34. cout<<"Programa que permite registrar N numero de estudiantes"<<endl;
  35. cout<<"con su respectiva nota final, listar los que perdieron"<<endl;
  36. cout<<"y sacar el promedio"<<endl<<endl;
  37. cout<<endl<<"OPCIONES"<<endl; //Opciones
  38. cout<<"1. REGISTRAR DATOS"<<endl;          
  39. cout<<"2. LISTAR DATOS"<<endl;
  40. cout<<"3. LISTA DE ESTUDIANTES QUE  PERDIERON EL CURSO"<<endl;
  41. cout<<"4. PROMEDIO DE NOTAS DEL CURSO"<<endl;
  42. cout<<"5. SALIR DEL PROGRAMA"<<endl<<endl;
  43. cout<<"Digite la opcion ";
  44. cin >>opcion;
  45. while(opcion>=6) //Ciclo while opciones incorrectas
  46. {
  47. cout<<"INGRESE UN NUMERO VALIDO POR FAVOR ";
  48. cin>>opcion;
  49.    }
  50.  
  51. switch(opcion) //llamadas a funciones            
  52. {
  53. case 1:
  54. system("cls"); //Limpiar pantalla
  55. registrarDatos(); //llamada a funcion registrar datos
  56.             break;
  57. case 2:
  58. system("cls"); //Limpiar pantalla
  59. mostrarDatos(); //llamada a funcion mostrar datos
  60. break;
  61. case 3:
  62. system("cls"); //Limpiar pantalla
  63. estudiantesPerdieron(); //llamada a funcion estudiantes perdieron
  64.             break;
  65. case 4:
  66. system("cls"); //Limpiar pantalla
  67. promedioNotas();    //llamada a funcion promedio de notas
  68. break;
  69. case 5:
  70. delete [] a;
  71. system("cls");
  72. exit(0);
  73.    break;
  74. }
  75.  
  76. cout<<endl;
  77. system("pause");
  78.  
  79. }
  80. while(opcion!=5);
  81. }
  82.  
  83.  
  84. void  registrarDatos()
  85. {
  86.  
  87. cout << "Por favor ingrese la cantidad de estudiantes a registrar: "<<endl;
  88. cin>>n;
  89. a = new string[n];
  90. b = new float[n];
  91. for(i = 0; i < n; i++)
  92.  
  93.  {
  94.          cout <<endl<<"******* Estudiante " << i + 1 << "********:"<<endl;
  95.  cout << "Nombre: ";
  96.          fflush(stdin);
  97.          getline (cin, a[i]);
  98.      cout << "Nota final: ";
  99.      cin>>b[i];
  100.  
  101.       }
  102. }
  103.  
  104.  
  105. void mostrarDatos ()
  106. {  
  107. cout << "La informacion de los estudiantes  registrados son los siguientes:"<<endl;
  108.        for(i = 0; i < n; i++)
  109.     {
  110.          cout << "\n******* Estudiante " << i + 1 << "********:\n";
  111.          cout << "Nombre:" <<a[i]<<endl;
  112.          cout << "Nota final: " <<b[i]<<endl;
  113.       }
  114.  
  115.    }
  116.  
  117.  
  118.       void estudiantesPerdieron ()
  119. {  
  120.  
  121.   cout << "La informacion de los estudiantes  que perdieron la materia son los siguientes:"<<endl;
  122.       cout << "Los estudiantes registrados son: "<<n<<" ";
  123. auxiliarPerdieron = new float[n];
  124. numeroPerdieron=0;
  125.        for(i = 0; i < n; i++)
  126.     {
  127.          if (b[i]<3)
  128.          {
  129.  auxiliarPerdieron[numeroPerdieron]=b[i];
  130.  numeroPerdieron++;
  131.  }
  132.  
  133.       }
  134.       cout<<"perdieron "<<numeroPerdieron<<" estudiantes" <<endl;
  135.       for (i=0; i<numeroPerdieron; i++)
  136.  
  137.   {
  138.   for (j=0; j<n; j++)
  139.  {
  140.   if (auxiliarPerdieron[i]==b[j])
  141.  {
  142.  cout<<"Nombre "<<a[j]<<" Nota "<<b[j]<<" "<<endl;
  143.  }
  144.  }
  145.  }
  146.  
  147.     }
  148.  
  149.  
  150.  
  151.       void promedioNotas()
  152. {
  153.   cout << "En construccion:"<<endl;
  154. }
  155.  
  156.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Eliminar elementos repetidos de un vector
Programación General
GaLaN GaLaNaSo 3000 2 63,019 Último mensaje 16 Noviembre 2011, 06:44 am
por osolmm
arreglos con elementos repetidos--
Programación C/C++
bobitttyy 1 1,833 Último mensaje 6 Abril 2015, 14:38 pm
por engel lex
Array elementos repetidos
Programación C/C++
LGG 1 2,653 Último mensaje 5 Mayo 2015, 17:32 pm
por eferion
Eliminar elementos repetidos en un Array
.NET (C#, VB.NET, ASP)
okik 2 9,419 Último mensaje 23 Junio 2015, 03:16 am
por Eleкtro
Elementos repetidos
Programación C/C++
fernandoroldan 1 1,817 Último mensaje 1 Noviembre 2016, 05:26 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines