Dev - C++ - Al poner n>4 el programa no me ejecuta. Puede alguin decirme porque?

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Al poner n>4 el programa no me ejecuta. Puede alguin decirme porque?

Publicado por Darwin (5 intervenciones) el 18/10/2019 15:28:16
-Se trata de introducir un vector de tamaño n y que su output sea el vector inverido pero al escribir n>4 no muestra nada:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include<vector>
using namespace std;
int n, v, k, i;
 
int main()
{
	int v[n];
	cin>>n;
	for( i=0; i<n; ++i)
	{
		cin>>k;
		v[i]=k;
	}
 
	for (i=0; i<n; ++i)
	{
		cout<<v[(n-1)-i]<<" ";
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Al poner n>4 el programa no me ejecuta. Puede alguin decirme porque?

Publicado por Rodrigo (539 intervenciones) el 18/10/2019 15:58:18
n vale 0 al definir el arreglo v.
La variable v afuera del main no sirve para nada, eliminala.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Al poner n>4 el programa no me ejecuta. Puede alguin decirme porque?

Publicado por Darwin (5 intervenciones) el 18/10/2019 16:41:19
Muchas gracias ya me funciona.
Pero me podrías decir porque me funcionaba para las n<=4?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Al poner n>4 el programa no me ejecuta. Puede alguin decirme porque?

Publicado por Rodrigo (539 intervenciones) el 18/10/2019 18:39:26
Solo suerte.
Sobreescribir zonas de memoria es jugar con la suerte.
Podria haberte fallado tambien.
Asi mismo ocurre con fallas famosas, pasan funcionando mucho tiempo hasta que alguna condicion cambia y el programa falla, debiendo haber fallado siempre, pero no, por "suerte" funciono hasta el dia que no.

Visto de otro punto de vista, que tu programa funcione no es garantia que este correcto.
Deberias hacer programas y suficientes pruebas del mismo para tener mas confianza en su correctitud.

Por ultimo, podrias copiar el programa final aqui para que el foro no solo te sirva a ti, sino a todos los que leen.
Podria ser que tu solucion aun esta mal y sigue funcionando por suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Solución "posible"

Publicado por Darwin (5 intervenciones) el 18/10/2019 18:49:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include<vector>
using namespace std;
 
int main()
{
	int n, k, i;
	int v[n];
	cin>>n;
	for( i=0; i<n; ++i)
	{
		cin>>k;
		v[i]=k;
	}
 
	for (i=0; i<n; ++i)
	{
		cout<<v[(n-1)-i]<<" ";
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Solución "posible"

Publicado por Rodrigo (539 intervenciones) el 18/10/2019 19:09:54
Sigue estando mal. La definicion del vector v requiere de un valor de n conocido. Define el vector despues de pedir el valor de n, no antes.
Ya sabes que el hecho que funcione no es garantia de nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Solución "posible"

Publicado por Darwin (5 intervenciones) el 18/10/2019 19:44:15
Eres un genio gracias de verdad

Entonces:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include<vector>
using namespace std;
 
int main()
{
int n, k, i;
con>>n;
int v[n];
for( i=0; i<n; ++i)
{
cin>>k;
v[i]=k;
}
 
for (i=0; i<n; ++i)
{
cout<<v[(n-1)-i]<<" ";
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Solución "posible"

Publicado por Alfil (1444 intervenciones) el 18/10/2019 20:21:48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
 
    cout << "\nDimension del vector: ";
    cin >> n;
 
    int v[n];
 
    cout << "\nDatos del vector: ";
    for( int i = 0; i < n; ++i )
        cin >> v[i];
 
    cout << "\nVector investido: ";
    for (int i = n-1; i >= 0; --i)
        cout << v[i] << " ";
 
    cout << endl;
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar