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

me pueden ayudar con un arreglo en c++

Estas en el tema de me pueden ayudar con un arreglo en c++ en el foro de C/C++ en Foros del Web. hola el ejercicio dice lo siguiente: **utilice un arreglo con un solo sub indice para resolver el siguiente problema. que lea 20 numeros, cada uno ...
  #1 (permalink)  
Antiguo 25/03/2010, 08:05
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
Puntos: 0
me pueden ayudar con un arreglo en c++

hola el ejercicio dice lo siguiente:
**utilice un arreglo con un solo sub indice para resolver el siguiente problema. que lea 20 numeros, cada uno de los cuales sea un numero entre 10 y 100, inclusive. Mientras se lee cada numero, desplieguelo solamente si no es un duplicado de un numero ya leido. prevenga el "peor de los casos" en el cual los 20 numeros son diferentes. utilice el menor tamaño posible del arreglo para resolver este programa.

el codigo que he hecho es el siguiente pero no me funciona bien chequeenlo a ver:
#include <iostream>
#include <string>
#include <vector>

using namespace std;
int main (void){
const unsigned int number(4);
int numero2[number];
int numero[number];
int num(0);
int igual;



cout<<"\n\nEscriba 20 numeros entre 10 y 100: "<<endl;
while( cin >> numero[num] ){
++num;
if( num == number)
break;


}

cout<<"\n\nLos numeros almacenados fueron: "<<endl;

for(int j(0); j < 1; j++){


for(int l(0);l < 4; l++){
if(numero[j] == numero[l+1]){

continue;
} else{
cout << numero[l]<<endl;
}
}



}


system ("pause");
return 0;
}
  #2 (permalink)  
Antiguo 25/03/2010, 08:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: me pueden ayudar con un arreglo en c++

Hola,yo recien estoy empezando con vectores en c pero.... no veo que valides que los numeros que se introduscan sean entre 10 y 100 ... ponle un do while,... no?
  #3 (permalink)  
Antiguo 27/03/2010, 10:52
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años
Puntos: 71
Respuesta: me pueden ayudar con un arreglo en c++

Aunque no comprendo bien problema; veo un error en tu código

Código C++:
Ver original
  1. const unsigned int number(4);
  2. int numero2[number];
  3. int numero[number];

el error se debe a que no se puede dar longitud a un vector de esa forma, con una constante entro del código, sino estarías creando una supuesto vector dinámico que no se implementa ni de ese modo tampoco.

Código C++:
Ver original
  1. const unsigned int number(4);

sacalo a fuera y declaro con un #define number 4. y te debe quedar así:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. #define number 4
  6. using namespace std;
  7.  
  8. int main (void){
  9.     //const unsigned int number(4);
  10.     int numero2[number];
  11.     int numero[number];
  12.     int num(0);
  13.     int igual;
  14.     cout<<"\n\nEscriba 20 numeros entre 10 y 100: "<<endl;
  15.     while( cin >> numero[num] ){
  16.         ++num;
  17.         if( num == number)
  18.             break;
  19.     }
  20.     cout<<"\n\nLos numeros almacenados fueron: "<<endl;
  21.  
  22.     for(int j(0); j < 1; j++){
  23.         for(int l(0);l < 4; l++){
  24.             if(numero[j] == numero[l+1]){
  25.                 continue;
  26.             } else{
  27.                 cout << numero[l]<<endl;
  28.             }
  29.         }
  30.     }
  31.     system ("pause");
  32.     return 0;
  33. }

prueba y verá la diferencia.
  #4 (permalink)  
Antiguo 27/03/2010, 11:31
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: me pueden ayudar con un arreglo en c++

Estoy en desacuerdo con lo expresado previamente por CapacProg.

En C++ las constantes existen y se pueden poner al definir un arreglo. Eso es una diferencia respecto a C.

El codigo destacado previamente
Código C++:
Ver original
  1. const unsigned int number(4);
  2. int numero2[number];
  3. int numero[number];

no puede ser indicado como error por el compilador, al menos, no por la razon indicada.
  #5 (permalink)  
Antiguo 27/03/2010, 23:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: me pueden ayudar con un arreglo en c++

hola estaba funcionando el codigo asi pero el problema esta en la comparacion porque cuando le doy salida ejemplo:
1
2
1
3
me sale asi:

1
1
3
mi problema es en la comparacion ayudame y compilalo para que veas que sale mal. gracias

Etiquetas: arreglos
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 00:17.