Uso de apuntadores en C++: cálculo de media
#include<iostream>
#include<string>
using namespace std;
const int MAX=30; // MAX es una constante de valor 30
int main(){
int i,n;
double x[MAX], // arreglo de a lo más 30 valores tipo double
*realptr = x, // realptr es un apuntador a x
sum, sumx=0.0, p; // valores tipo double
do{
cout<<"D\x82 N\xa3mero de datos: "; /// é y ú... notación decimal
cin>>n;
}while(n<2 | | n>MAX); /// n debe estar entre 2 y 30 para continuar y salirse del while
for(i=0;i<n;i++){
cout<<"x["<<i<<"]=";
cin>>*realptr++; /// se leen los valores del arreglo x usando realptr
} // *realptr++ es lo mismo que *(realptr++), lee y avanza de posición después
realptr - = n; // regresa realptr n posiciones atrás, al inicio de x
sum=n; // sum igual a n
for(i=0;i<n;i++)
sumx += *(realptr++); // sumx es un acumulador de los valores de x, usamos realptr
p=sumx/sum; /// p es el promedio de los datos
cout<<endl<<p<<endl;
system("pause");
return 0;
}
// SALIDA DEL PROGRAMA
#include<string>
using namespace std;
const int MAX=30; // MAX es una constante de valor 30
int main(){
int i,n;
double x[MAX], // arreglo de a lo más 30 valores tipo double
*realptr = x, // realptr es un apuntador a x
sum, sumx=0.0, p; // valores tipo double
do{
cout<<"D\x82 N\xa3mero de datos: "; /// é y ú... notación decimal
cin>>n;
}while(n<2 | | n>MAX); /// n debe estar entre 2 y 30 para continuar y salirse del while
for(i=0;i<n;i++){
cout<<"x["<<i<<"]=";
cin>>*realptr++; /// se leen los valores del arreglo x usando realptr
} // *realptr++ es lo mismo que *(realptr++), lee y avanza de posición después
realptr - = n; // regresa realptr n posiciones atrás, al inicio de x
sum=n; // sum igual a n
for(i=0;i<n;i++)
sumx += *(realptr++); // sumx es un acumulador de los valores de x, usamos realptr
p=sumx/sum; /// p es el promedio de los datos
cout<<endl<<p<<endl;
system("pause");
return 0;
}
// SALIDA DEL PROGRAMA
Comentarios
Publicar un comentario