Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Contador en C++

Estas en el tema de Contador en C++ en el foro de C/C++ en Foros del Web. Tengo este código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original #include <iostream>   using namespace std ;   int main ( ) {     int ...
  #1 (permalink)  
Antiguo 07/10/2013, 15:18
 
Fecha de Ingreso: septiembre-2013
Mensajes: 8
Antigüedad: 10 años, 7 meses
Puntos: 0
Contador en C++

Tengo este código:

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int numerocalificaciones,i,opcion,buscarnumero,afirmacion;
  8.     float calificaciones[11];
  9.     cout << "Promedio de calificaciones\n" << endl;
  10.     do
  11.     {
  12.         cout << "Ingresa numero de calificaciones (Maximo 10): ";
  13.         cin >> numerocalificaciones;
  14.         if(numerocalificaciones<1 || numerocalificaciones>10)
  15.         {
  16.             cout << "Opcion no valida" << endl;
  17.         }
  18.     }
  19.     while (numerocalificaciones<1 || numerocalificaciones>=11);
  20.     for(i=0; i<numerocalificaciones; i++)
  21.     {
  22.         cout << "Ingresa calificacion: ";
  23.         cin >> calificaciones[i];
  24.     }
  25.     do
  26.     {
  27.         cout<< "\n\nMenu\n" << endl;
  28.         cout<< "1. Reiniciar vector"<< endl;
  29.         cout<< "2. Desplegar normal"<< endl;
  30.         cout<< "3. Desplegar invertido"<< endl;
  31.         cout<< "4. Buscar numero"<< endl;
  32.         cout<< "5. Buscar posicion"<< endl;
  33.         cout<< "6. Repeticiones"<< endl;
  34.         cout<< "7. Salir"<< endl;
  35.         cout<< "Elige una opcion: ";
  36.         cin>> opcion;
  37.         switch(opcion)
  38.         {
  39.         case 1:
  40.             do
  41.             {
  42.                 cout << "\nIngresa numero de calificaciones (Maximo 10): ";
  43.                 cin >> numerocalificaciones;
  44.                 if(numerocalificaciones<1 || numerocalificaciones>10)
  45.                 {
  46.                     cout << "Opcion no valida" << endl;
  47.                 }
  48.             }
  49.             while (numerocalificaciones<1 || numerocalificaciones>=11);
  50.             for(i=0; i<numerocalificaciones; i++)
  51.             {
  52.                 cout << "Ingresa calificacion: ";
  53.                 cin >> calificaciones[i];
  54.             }
  55.             break;
  56.         case 2:
  57.             cout << " "<< endl;
  58.             for (i=0; i<numerocalificaciones; i++)
  59.             {
  60.                 cout<<calificaciones[i]<<" ";
  61.             }
  62.             break;
  63.         case 3:
  64.             cout << " "<< endl;
  65.             for (i=numerocalificaciones-1; i>=0; i--)
  66.             {
  67.                 cout<<calificaciones[i]<< " ";
  68.             }
  69.             break;
  70.         case 4:
  71.             afirmacion=0;
  72.             cout<< "\nIngresa numero a buscar: ";
  73.             cin>> buscarnumero;
  74.             cout << "\nEl numero esta en la posicion: \n"<< endl;
  75.             for (i=0; i<numerocalificaciones; i++)
  76.             {
  77.                 if (buscarnumero==calificaciones[i])
  78.                 {
  79.                     cout<< i+1 << " ";
  80.                     afirmacion=1;
  81.                 }
  82.             }
  83.             if (afirmacion==0)
  84.             {
  85.                 cout<< "El numero no existe"<< endl;
  86.             }
  87.             break;
  88.         case 5:
  89.             afirmacion=0;
  90.             cout<< "\nIngresa posicion a buscar: ";
  91.             cin>> buscarnumero;
  92.             cout << "\nEn la posicion esta el numero: \n"<< endl;
  93.             for (i=0; i<numerocalificaciones; i++)
  94.             {
  95.                 if (buscarnumero==i+1)
  96.                 {
  97.                     cout<< calificaciones[i] << " ";
  98.                     afirmacion=1;
  99.                 }
  100.             }
  101.             if (afirmacion==0)
  102.             {
  103.                 cout<< "La posicion no existe"<< endl;
  104.             }
  105.             break;
  106.         case 6:
  107.             break;
  108.         case 7:
  109.             cout<< "\nSaliste exitosamente"<< endl;
  110.             break;
  111.         default:
  112.             cout<< "\nOpcion no valida"<< endl;
  113.             break;
  114.         }
  115.     }
  116.     while(opcion!=7);
  117.     return 0;
  118. }

El programa tiene que capturar datos y guardarlos. El codigo funciona en todas las opciones menos en la 6. En la opcion 6 (Repeticiones) me tiene que mostrar cuantas veces se repite un valor que se ingreso, por ejemplo, si ponemos:

10, 20, 40, 20, 50, 20, 40

Si buscamos cuantas veces se repite el 20, tiene que decir 0, si buscamos las repeticiones de 40 tiene que salir 2 y si buscamos las de 20 tendria que salir 3.

¿Como podria realizar esa parte del codigo?
  #2 (permalink)  
Antiguo 07/10/2013, 17:52
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Contador en C++

Podes usar una función que separe los números ingresados a partir de un delimitador (el espacio). Ahí te quedaría un array con todos los números, entonces haces lo siguiente: tomas el ítem 0 del array, y buscas si alguno de los demás elementos coincide con ese. Por cada uno que coincida, sumas un contador. Luego lo mismo con el ítem 2, y así sucesivamente, directamente usando un bucle.
  #3 (permalink)  
Antiguo 07/10/2013, 20:33
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Contador en C++

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3.     using namespace std;
  4.  
  5.     int main()
  6.     {
  7.         int numerocalificaciones,i,opcion,buscarnumero,afirmacion;
  8.         int calificaciones[11]; // lo modifique de float a int te apañas jaja
  9.         //variables del caso 6 XD
  10.         int count = 1;
  11.         int prev; //recibe valor en la linea 36
  12.  
  13.         cout << "Promedio de calificaciones\n" << endl;
  14.         do
  15.         {
  16.             cout << "Ingresa numero de calificaciones (Maximo 10): ";
  17.             cin >> numerocalificaciones;
  18.             if(numerocalificaciones<1 || numerocalificaciones>10)
  19.             {
  20.                 cout << "Opcion no valida" << endl;
  21.             }
  22.         }while (numerocalificaciones<1 || numerocalificaciones>=11);
  23.  
  24.  
  25.  
  26.         for ( i = 0; i < numerocalificaciones; i++ )
  27.         {
  28.             cout << "Ingresa calificacion: ";
  29.             cin >> calificaciones[i];
  30.         }
  31.  
  32.         //aqui como ya sabemos lo que vale todo enviamos el valor al caso 6.
  33.         prev= calificaciones[0];
  34.  
  35.         do
  36.         {
  37.             cout<< "\n\nMenu\n" << endl;
  38.             cout<< "1. Reiniciar vector"<< endl;
  39.             cout<< "2. Desplegar normal"<< endl;
  40.             cout<< "3. Desplegar invertido"<< endl;
  41.             cout<< "4. Buscar numero"<< endl;
  42.             cout<< "5. Buscar posicion"<< endl;
  43.             cout<< "6. Repeticiones"<< endl;
  44.             cout<< "7. Salir"<< endl;
  45.             cout<< "Elige una opcion: ";
  46.             cin>> opcion;
  47.  
  48.  
  49.  
  50.             switch(opcion)
  51.             {
  52.  
  53.             case 1:
  54.                 do
  55.                 {
  56.                     cout << "\nIngresa numero de calificaciones (Maximo 10): ";
  57.                     cin >> numerocalificaciones;
  58.                     if(numerocalificaciones<1 || numerocalificaciones>10)
  59.                     {
  60.                         cout << "Opcion no valida" << endl;
  61.                     }
  62.                 }
  63.                 while (numerocalificaciones<1 || numerocalificaciones>=11);
  64.                 for(i=0; i<numerocalificaciones; i++)
  65.                 {
  66.                     cout << "Ingresa calificacion: ";
  67.                     cin >> calificaciones[i];
  68.                 }
  69.                 break;
  70.             case 2:
  71.                 cout << " "<< endl;
  72.                 for (i=0; i<numerocalificaciones; i++)
  73.                 {
  74.                     cout<<calificaciones[i]<<" ";
  75.                 }
  76.                 break;
  77.             case 3:
  78.                 cout << " "<< endl;
  79.                 for (i=numerocalificaciones-1; i>=0; i--)
  80.                 {
  81.                     cout<<calificaciones[i]<< " ";
  82.                 }
  83.                 break;
  84.             case 4:
  85.                 afirmacion=0;
  86.                 cout<< "\nIngresa numero a buscar: ";
  87.                 cin>> buscarnumero;
  88.                 cout << "\nEl numero esta en la posicion: \n"<< endl;
  89.                 for (i=0; i<numerocalificaciones; i++)
  90.                 {
  91.                     if (buscarnumero==calificaciones[i])
  92.                     {
  93.                         cout<< i+1 << " ";
  94.                         afirmacion=1;
  95.                     }
  96.                 }
  97.                 if (afirmacion==0)
  98.                 {
  99.                     cout<< "El numero no existe"<< endl;
  100.                 }
  101.                 break;
  102.             case 5:
  103.                 afirmacion=0;
  104.                 cout<< "\nIngresa posicion a buscar: ";
  105.                 cin>> buscarnumero;
  106.                 cout << "\nEn la posicion esta el numero: \n"<< endl;
  107.                 for (i=0; i<numerocalificaciones; i++)
  108.                 {
  109.                     if (buscarnumero==i+1)
  110.                     {
  111.                         cout<< calificaciones[i] << " ";
  112.                         afirmacion=1;
  113.                     }
  114.                 }
  115.                 if (afirmacion==0)
  116.                 {
  117.                     cout<< "La posicion no existe"<< endl;
  118.                 }
  119.                 break;
  120.             case 6:
  121. ////////////////////////////////////////////////////////////////////////////////
  122.                 for ( int x = 1; x < numerocalificaciones; x++){
  123.                     if ( calificaciones[x] == prev ) {
  124.                         count++;
  125.                     } else {
  126.                         cout << prev << " sale: "<< count <<endl;
  127.                         prev = calificaciones[x];
  128.                         count = 1;
  129.                     }
  130.  
  131.                 }
  132.                 cout << prev << " sale: "<< count << endl;
  133.                 //codigo creado por JuaN-ThE-HaCKeR en
  134.                 //http://foro.elhacker.net/programacion_cc/programa_leer_numeros_repetidos_en_un_array-t247788.0.html
  135.                 //modificado y adaptado por vangodp ;)
  136. ////////////////////////////////////////////////////////////////////////////////
  137.                 break;
  138.             case 7:
  139.                 cout<< "\nSaliste exitosamente"<< endl;
  140.                 break;
  141.             default:
  142.                 cout<< "\nOpcion no valida"<< endl;                          
  143.                 break;
  144.             }
  145.         }
  146.         while(opcion!=7);
  147.         return 0;
  148.     }

me ha costado soy novato saludos

Etiquetas: contador, funcion, int, numero, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:18.