[C con Clase] problemas al ejecutar
David Reza
l.fix3r.l en gmail.com
Dom Mayo 11 06:53:35 CEST 2008
luchito tu amigo escribió:
> Quisiera que ayuden con el siguiente codigo, el problema es que
> cuando se ejecuta no muestra el resultado y quisiera saber que esta
> mal o tengo que agregar algo.
>
> El siguiente codigo tiene que hallar el promedio de una lista.
>
>
>
> #include<iostream.h>
> #include<conio.h>
En C++ por estándares debes utilizar 'int main()'.
>
> main()
> {
> int A[5];
Aquí estás declarando un arreglo de 5 elementos y más adelante
preguntarás el número de elementos y si llegan a ser más de 5
estarás accediendo a otras direcciones de memoria que te pueden
ocasionar problemas. Lo que puedes hacer es declarar el arreglo un
poco más grande como 20 o 30.
>
> int n,x,i,p;
>
> cout<<"Ingresar numero de elementos: "; cin>>n;
> x=0;
>
> for(i=1;i<=n;i++)
> {
> cout<<"A["<<i<<"]=";
Aquí estás bien porque muestras los números de elementos
correspondientes,
>
> cin>>A[i];
Pero aquí estás mal. En C++ para acceder a los elementos de un
arreglo tienes que empezar desde 0 hasta número_de_elementos - 1. Es
decir, si fueran 5 elementos deberías acceder a ellos desde A[0] hasta
A[4].
En este caso por tu ciclo puedes poner A[i-1];
>
> cout<<endl;
> x=x+A[i];
Aquí arriba también con el -1.
>
> }
>
> p=x/n;
> cout<<"el promedio es "<<p<<endl;
Aquí utilizas 'getch()' y sólo por esta instrucción utilizas la
librería 'conio.h', puedes no utilizar esta librería y utilizar la
instrucción 'cin.get();' de la librería iomanip.h para tener el mismo
efecto.
>
> getch();
Aquí por estándar, si declaraste un valor de retorno 'int' a la
función principal 'main', debes retornar el valor de 0, esto es con la
instrucción 'return 0'.
>
> }
>
> De antemano gracias por la ayuda.
Más información sobre la lista de distribución Cconclase