Hola! (:
Pues debo hacer un ejercicio
en donde ingreso por teclado 20 elementos
de un vector numerico,
y luego mostrarlos en el orden inverso al
ingresado.
Es bastante sencillo, la resolucion pero no puedo pasarlo a C++ D:
no se en que me estoy equivocando u.u
#include <conio.h>
#include <iostream.h>
main()
{int a[20],i;
for(i=0; i<20; i++)
{cout<<"\nElemento a = ";
cin>>a[i];
}
for(i=20; i<1; i--)
{cout<<"\n\nElemento a "<<i<<" = "<<a[i];}
getch();
}
Lo primero que hay que cambiar son los nombres de los encabezados, la definición de la funcion "main" y evitar el uso de la biblioteca conio de Borland. Por favor lee el tema |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).
También deberías conseguir un libro o curso de calidad, puedes utilizar el motor de búsqueda para recomendaciones.
El problema es el bucle:
for(i=20; i<1; i--)
{cout<<"\n\nElemento a "<<i<<" = "<<a[i];}
Debería ser:
for (i = 19; i >= 0; i--)
cout << "a[" << i << "] = " << a[i] << endl;
Un saludo
La condición del segundo for dice que se va a ejecutar mientras i sea menor que uno y el primer valor de i es veinte, es decir que nunca va a entrar al for. Además si entra al for te darás cuenta que i=20 se sale del arreglo ya que los arreglos en C/C++ van desde 0 a n-1 donde n es el tamaño del arreglo (n=20).
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
#include <iostream>
using namespace std;
int main()
{
int a[19],i;
for(i=0; i<=19; i++)
{cout<<"\nElemento a = ";
cin>>a[i];
}
for(i=19; i>=0; i--)
{cout<<"\n\nElemento a "<<i<<" = "<<a[i];}
system ("PAUSE");
return 0;
}
bueno errores los que te dijeron en los dos for habia errores de interpretacion, no usas using namespace std;
no uses conio
y no uses <iostream.h>
es sin el punto y la h
y es int main()
Ya me estuve leyendo el articulo,
y les agradezco mucho.
Si bien aun estoy aprendiendo
no creo que pueda dejar de usar el conio.h
y using namespace std asi como asi;
verán, el la facultad me dicen que "asi es como debe ser".
Y yo (al menos por ahora ya que ya empezaré con parciales)
quiero comprender mis errores tontos, y luego empezar a modificar mi
estructura en la escritura.
Yo utilizo el borland c++ 5.02 para programar
y utilize el codigo anterior pero me salia errores que yo aún no entiendo D:
Pero estudiaré >.<
Está muy mal que les enseñen C++ y no empiecen por C. Con respecto a la librería NO ESTÁNDAR conio, no deberían ni mirarla, ya que como te dije no es estándar y hace que C/C++ pierda una de sus características principales que es la portabilidad.
Cita de: naderST en 25 Octubre 2012, 03:57 AM
Está muy mal que les enseñen C++ y no empiecen por C. Con respecto a la librería NO ESTÁNDAR conio, no deberían ni mirarla, ya que como te dije no es estándar y hace que C/C++ pierda una de sus características principales que es la portabilidad.
Estoy de acuerdo con lo de conio, para hacer esas cosas no hace falta mas que la libreria estandar y si acaso algo de preprocesador, pero en cuanto a que haya que aprender C antes que C++ no. Probablemente es mas facil aprender con C primero, pero de ahi a que "este muy mal"...
Bueno cada quien tiene sus opiniones yo lo digo porque me parece mal que esté programando 100% estructurado y lo haga en C++ ya que no está explotado C++ estos programitas sencillos se pueden hacer fácilmente en C. A nivel de eficiencia no es lo mismo hacer un cout que un printf.