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

[SOLUCIONADO] problema con la variable del ciclo for

Estas en el tema de problema con la variable del ciclo for en el foro de C/C++ en Foros del Web. #include <iostream> using namespace std; int main(){ int valores = 10; int numeros [valores] int i; //El copilador me dice en esta linea que esta ...
  #1 (permalink)  
Antiguo 31/05/2014, 08:03
Avatar de jscmanuel  
Fecha de Ingreso: mayo-2014
Mensajes: 29
Antigüedad: 10 años
Puntos: 0
Información problema con la variable del ciclo for

#include <iostream>
using namespace std;

int main(){

int valores = 10;
int numeros [valores]
int i; //El copilador me dice en esta linea que esta el error

for (int i=0;i<valores;++i){ // pero no estoy seguro si el ciclo esta bien planteado asi?
cout<<"Ingresa el numero "<<valores<<"de 10"<<endl;
cin>>valores;
}



return 0;
}
El programa es que quiero un bucle que me guarde los diez elementos en el array, y ya despumes quiero hacer cálculos con ellos.Gracias de ante manos y un saludo.
  #2 (permalink)  
Antiguo 31/05/2014, 08:47
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Hola, lo primero un punto y coma después de int numeros[valores];

Ahora, a ver que más errores tienes
  #3 (permalink)  
Antiguo 31/05/2014, 08:56
Avatar de jscmanuel  
Fecha de Ingreso: mayo-2014
Mensajes: 29
Antigüedad: 10 años
Puntos: 0
Respuesta: problema con la variable del ciclo for

hola lolainas gracias por el error , pero el problema sigue igual en el int i; y ahora me salto el int numero[valores]. no tengo ni idea de lo que pasa cada vez que cambio algo sale un error nuevo.

Creo que el error que estoy cometiendo es en la decaración del array , y no se de que manera declarar lo , creo que la sintaxis del array es buena.

Última edición por jscmanuel; 31/05/2014 a las 09:11 Razón: revision el programa
  #4 (permalink)  
Antiguo 31/05/2014, 09:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: problema con la variable del ciclo for

Hola:

Pues si, esta vez hay varios errores más graves de la cuenta.
Para empezar, has de definir el tamaño del array con un literal o con un valor constante.

Es decir, puedes hacer así:
Código C++:
Ver original
  1. int numeros[10];
O bien así:
Código C++:
Ver original
  1. const int valores=10;
  2. int numeros[valores];

La ventaja de esta segunda forma es que valores, si bien es un valor de sólo consulta, al usarlo para recorrer el array, el día que quieras que valores valga 5, ya tienes cambiado el valor tanto aqui:
Código C++:
Ver original
  1. int numeros[valores];
como aqui:
Código C++:
Ver original
  1. for (int i=0;i<valores;++i)

Por lo que el código es más mantenible. En general es mejor trabajar de la segunda forma, lo que pasa es que para estos ejercicios de apenas 20 líneas, no se ve la importancia real.

Respecto al error, la queja del compilador siempre ayuda, o directamente nos da la solución del problema. En este caso, declaras una variable int i sin darle valor ni uso.

Fíjate que no es lo mismo esto:
Código C++:
Ver original
  1. int i; //El copilador me dice en esta linea que esta el error
  2.  
  3.     for (int i=0;i<valores;++i)
  4.     {
  5. .........................

que esto:

Código C++:
Ver original
  1. int i; //El copilador me dice en esta linea que esta el error
  2.  
  3.     for (i=0;i<valores;++i)
  4.     {
  5. ...........................

En el primer caso, el "i" del bucle, se crea y define dentro del mismo, y muere cuando acabe el bucle. Eso en definitiva está haciendo que el int i de fuera del bucle, no tenga nada que ver con el del bucle for. Así, el primer int i es una variable aparte, sin definición, sin valor y sin uso. Por eso se queja.
De la segunda forma, el compilador asume que hay un int i creado previamente, lo inicializa a 0, y lo usa para hacer el bucle. Por eso no daría error.

Y el último error es la forma de acceder a los valores, ya que has de acceder mediante el operador [].
Es decir:
Código C++:
Ver original
  1. cin>>numeros[valores];

Saludos
  #5 (permalink)  
Antiguo 31/05/2014, 10:53
Avatar de jscmanuel  
Fecha de Ingreso: mayo-2014
Mensajes: 29
Antigüedad: 10 años
Puntos: 0
Respuesta: problema con la variable del ciclo for

#include <iostream>
using namespace std;

int main(){

const int valores = 10;
int numeros [valores];
int num;
int i;

for ( i=0;i<valores;++i){
cout<<"Ingresa el numero "<<i+1<< " de "<<valores<<":";// mesaje
//cin>>numeros[valores];
cin>>num;
numeros[i] = num;
}

cout<<"El array es: [";

for(i = 0; i<valores;++i)
cout<< numeros[i] << " " ;
cout<<"] \n\n" ;

return 0;
}


Gracias Dehm por tu ayuda tio , me a servido de mucho para aclararme el cacao que tenia en este programa .Aquí dejo el programa para que lo veáis , le e echo unos retoque . todavía tengo que terminar las operaciones con los elementos de este array. y otra vez gracias.un Saludo

Etiquetas: int, numero, programa, variable
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 12:02.