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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Vectores (Array) de N posiciones C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Vectores (Array) de N posiciones C++  (Leído 7,606 veces)
iAmChapin_

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Vectores (Array) de N posiciones C++
« en: 7 Septiembre 2015, 08:32 am »

Buenas! Creo que algunos ya me conocen, estoy comenzando a estudiar C++ y pues soy un estudiante de universidad, aqui ya me han ayudado muchisimo y pues quiero seguirlos molestando  :xD se que algun dia sere yo el que resuelva dudas pero por el momento sere yo el de las dudas. Pues los problemas van asi:



En el pensamiento obtuve una manera de como resolverlo... pero ya pasandolo a C++ creo que no di en el clavo. Yo llevo mi codigo del primer ejercicio de esta manera y no sale nada de lo que quiero:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5. int vector[20];
  6.   int i;
  7.   int resultado;
  8.  
  9.   for (i=0; i<20; i++){
  10.  
  11.   cout << "Ingresa 20 numeros: "; cin >> vector[i]; // HASTA QUE SE INGRESEN 20 NUMEROS SALE DEL CICLO
  12.      }
  13.  
  14. //CUANTAS VECES SE INGRESARON LOS NUMEROS
  15.   for (i=0; i<20; i++){
  16.   if (vector[1]==i){
  17.       resultado++;
  18.      }
  19.      }
  20. //IMPRIMIMOS QUE NUMEROS SE REPITIERON
  21.  
  22.      cout << "El numero " << vector << "esta repetido " << resultado << " veces";
  23.  
  24.   cin.get();
  25.   return 0;
  26. }

Podrian darme una mano con esto? En la impresion de resultados quiero que salgan cuantos numeros se repitieron, si el 2 se repitio 3 veces tengo que indicarlo, y tambien si otro numero se repitio tantas veces, tambien tengo que indicarlo, tengo que identificar cuantos numeros se ingresaron repetidas veces! El segundo problema no se me ocurre como hacerlo  :( espero puedan ayudarme, gracias!


« Última modificación: 10 Septiembre 2015, 02:10 am por iAmChapin_ » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Vectores (Array) de N posiciones C++
« Respuesta #1 en: 7 Septiembre 2015, 14:03 pm »

En el cout tienes que poner "vector[ i ]". Y en el if, ifual, que pussite "vector[ 1 ]".

Aunque ten en cuenta que tienes los 2 for con la misma variable "i". En uno, pon otra variable diferente para contar.
Replantea el código.


En línea

Bob1098

Desconectado Desconectado

Mensajes: 87


Ver Perfil
Re: Vectores (Array) de N posiciones C++
« Respuesta #2 en: 7 Septiembre 2015, 18:52 pm »

Además de lo ya dicho me parece que si la variable resultado no tiene un valor inicial asignado no funcionara como contador. Si te diese problemas dale un valor inicial de 0, si te funciona bien no hay problema.


Un saludo.
En línea

iAmChapin_

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Vectores (Array) de N posiciones C++
« Respuesta #3 en: 10 Septiembre 2015, 00:31 am »

Muy bien, tome en cuenta sus comentarios y replantee el codigo entero. Lo tengo que hacer con funciones y pues le agregue la funcion pero funciona igual. El codigo ahora me compila, me ejecuta y me hace el proceso que quiero, pero me imprime un dato extra innecesario al final, podrian decirme en que linea tengo el error para que no imprima ese otro dato? Les presento el codigo.

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void procedimiento(int a[]){
  6.  
  7. int contador[20] = {0};
  8. int x;
  9. int i;
  10.  
  11.  
  12. //LLENAMOS LA VARIABLE CONTADOR DE LOS NUMEROS INGRESADOS PARA DESPUES REVISARLOS
  13.       for (i = 0; i <= 20; i++)
  14.       {
  15.        for (x = 0; x <= 20; x++)
  16.          {
  17.             if (a[i] == x)
  18.             {
  19.              contador[x]++;
  20.             }
  21.          }
  22.  
  23.       }
  24.  
  25.       //CON ITERACIONES REVISAMOS LOS NUMEROS PARA VER CUANTAS VECES SE REPITIERON
  26.       for (i = 0; i <= 20; i++)
  27.       {
  28.           if (contador[i] != 0)
  29.           {
  30.              if (contador[i] == 1)
  31.              {
  32.              //NO HAGO NADA PORQUE EL NUMERO SOLO SE REPITE UNA VEZ
  33.              }
  34.              else
  35.              {
  36.              //IMPRIMO CUANTAS VECES SE REPITE UN NUMERO INGRESADO
  37.              cout << i << " se repite " << contador[i] << " veces" << endl;
  38.              }
  39.           }
  40.       }
  41. }
  42.  
  43. int main(){//INICIO DEL PROGRAMA
  44.  
  45.    int vector[20];
  46.    int a;
  47.    int posicion = 1;
  48.  
  49.    //LLENAMOS EL VECTOR CON 20 NUMEROS QUE SE INGRESEN
  50.       for(a=0; a < 20; a++){
  51.  
  52.     cout << "Ingresa el numero de la posicion " << posicion++ << endl;
  53.         cin >> vector[a];
  54.  
  55.     }
  56.  
  57.     //LLAMAMOS A UNA FUNCION
  58.     procedimiento(vector);
  59.  
  60.     //TECLAZO
  61.      cin.get();
  62.  
  63.      return 0;
  64. }//FIN DEL PROGRAMA

El programa imprime al final de los resultados deseados algo innecesario, se los muestro:



En la parte donde dice 20 se repite tantas veces... Podrian ayudarme? Gracias!!
En línea

someRandomCode

Desconectado Desconectado

Mensajes: 250



Ver Perfil
Re: Vectores (Array) de N posiciones C++
« Respuesta #4 en: 10 Septiembre 2015, 01:07 am »

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void procedimiento(int a[]){
  6.  
  7. int contador[20] = {0};
  8. int x;
  9. int i;
  10.  
  11.  
  12. //LLENAMOS LA VARIABLE CONTADOR DE LOS NUMEROS INGRESADOS PARA DESPUES REVISARLOS
  13.       for (i = 0; i < 20; i++)
  14.       {
  15.        for (x = 0; x < 20; x++)
  16.          {
  17.             if (a[i] == x)
  18.             {
  19.              contador[x]++;
  20.             }
  21.          }
  22.  
  23.       }
  24.  
  25.       //CON ITERACIONES REVISAMOS LOS NUMEROS PARA VER CUANTAS VECES SE REPITIERON
  26.       for (i = 0; i < 20; i++)
  27.       {
  28.           if (contador[i]>1)
  29. {  
  30. cout << i << " se repite " << contador[i] << " veces" << endl;
  31.                }
  32.       }
  33. }
  34.  
  35. int main(){//INICIO DEL PROGRAMA
  36.  
  37.    int vector[20];
  38.    int a;
  39.    int posicion = 1;
  40.  
  41.    //LLENAMOS EL VECTOR CON 20 NUMEROS QUE SE INGRESEN
  42.       for(a=0; a < 20; a++){
  43.  
  44.     cout << "Ingresa el numero de la posicion " << posicion++ << endl;
  45.         cin >> vector[a];
  46.  
  47.     }
  48.  
  49.     //LLAMAMOS A UNA FUNCION
  50.     procedimiento(vector);
  51.  
  52.     //TECLAZO
  53.      cin.get();
  54.  
  55.      return 0;
  56. }//FIN DEL PROGRAMA
  57.  


Salida:
Código:
byakko@linuxblade ~/Programas $ g++ -o programa elhacker.net.c 
byakko@linuxblade ~/Programas $ ./programa
Ingresa el numero de la posicion 1
1
Ingresa el numero de la posicion 2
1
Ingresa el numero de la posicion 3
1
Ingresa el numero de la posicion 4
1
Ingresa el numero de la posicion 5
2
Ingresa el numero de la posicion 6
3
Ingresa el numero de la posicion 7
4
Ingresa el numero de la posicion 8
5
Ingresa el numero de la posicion 9
6
Ingresa el numero de la posicion 10
7
Ingresa el numero de la posicion 11
8
Ingresa el numero de la posicion 12
9
Ingresa el numero de la posicion 13
10
Ingresa el numero de la posicion 14
0
Ingresa el numero de la posicion 15
0
Ingresa el numero de la posicion 16
0
Ingresa el numero de la posicion 17
12
Ingresa el numero de la posicion 18
12
Ingresa el numero de la posicion 19
15
Ingresa el numero de la posicion 20
21
0 se repite 3 veces
1 se repite 4 veces
12 se repite 2 veces
En línea

iAmChapin_

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Vectores (Array) de N posiciones C++
« Respuesta #5 en: 10 Septiembre 2015, 01:46 am »

Wow muchas gracias someRandomCode!! No pude darme cuenta que era algo tan sencillo como eso! Una vez mas y gracias a todos los que siempre me respoden, me ayudan a mejorar!!  ;-) colocare el tema como resuelto!!  ;-)
En línea

someRandomCode

Desconectado Desconectado

Mensajes: 250



Ver Perfil
Re: Vectores (Array) de N posiciones C++
« Respuesta #6 en: 10 Septiembre 2015, 02:03 am »

No hay ningun problema :)
Por favor, tene a bien marcar el thread como resuelto para que gente con los mismos problemas tengan una referencia a una solucion :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dividir un Vector<objetoQueQuieras> en un array de vectores de n componentes
Java
rixi15 2 8,385 Último mensaje 2 Noviembre 2012, 13:26 pm
por rixi15
Array de muchos vectores
Java
DavidCC4 1 1,950 Último mensaje 16 Abril 2014, 00:17 am
por ivancea96
Eliminar las posiciones pares de un array y comprimir el array
Java
sevedeboa 8 15,399 Último mensaje 26 Enero 2015, 15:52 pm
por sevedeboa
Ayuda con problemas de array y vectores
Java
raleva 1 1,515 Último mensaje 5 Febrero 2016, 04:02 am
por esjuleta
Mover posiciones de un array como si fuese una excavadora
Programación C/C++
Kougami 3 2,877 Último mensaje 19 Enero 2017, 14:50 pm
por MiiGii
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines