[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