Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Punteros
Punteros
Procedimientos:
I.
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int a, *pt;
a=7;
pt=a;
cout << "La direccion de a es: " << a<<endl;
cout << "La direccion de pt es: " << pt<<endl;
cout << "El contenido de pt es: " << <<endl;
cout << "El valor de a es: " << <<endl;
cout << "El valor de pt es: " << pt<<endl;
return 0;
}
Fundamentos de Programacin
#include <iostream>
using namespace std;
#define MAX 20
int *p[MAX];
void divide(char cadena) {
int j;
char *r=cadena;
for(j=0;j<MAX;++j)
p[j]=NULL;
j=0;
while (1){
while (*r==' ')
++r;
if (*r=='\0')
return;
*(p)=r;
++j;
while (*r!=' '){
if (*r=='\0')
return;
++r;
}
*r='\0';
++r;
}
}
int main(int argc, char *argv[]) {
int j=0;
char cadena[]="puno es una ciudad bonita";
divide(cadena);
while (p[j]!=NULL){
Fundamentos de Programacin
cout<<j+1<<") "<<*(p+j)<<endl;
++j;
}
return 0;
}
II.
1) Programa que muestre los primeros 100 nmeros de izquierda a derecha usando un array de dos
dimensiones, la ltima fila muestra la suma de sus respectivas columnas.
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[]) {
int x,y,sum, numeros[11][10];
for (y=0;y<10;y++)
{
sum=0;
for (x=0;x<10;x++)
{
numeros[x][y]=(x*10)+1+y;
sum=sum+numeros[x][y];
}
numeros[10][y]=sum;
}
for (x=0;x<11;x++)
{
for (y=0;y<10;y++)
{
printf("%d \t", numeros[x][y]);
}
printf("\n");
}
return 0;
}
2) Programa que lee las estaturas de los alumnos de una clase y se realizan con ellos distintos
clculos, para ello se implementan las funciones.
#include <iostream>
Fundamentos de Programacin
#include <iomanip>
#include <stdlib.h>
using namespace std;
//declaracin de funciones
void leer(double []);
double estatura_media(double []);
void max_min(double [], double &, double &);
void cuantos_mayor_menor_media(double [], double, int &, int &);
void mostrar_resultados(double [], double, double, double, int, int);
int main(int argc, char *argv[]) {
double estaturas[10], media, mayor, menor;
int cont_mas = 0, cont_menos = 0;
leer(estaturas);
max_min(estaturas,mayor,menor);
media = estatura_media(estaturas);
cuantos_mayor_menor_media(estaturas,media,cont_mas,cont_menos);
mostrar_resultados(estaturas,media,mayor,menor,cont_mas, cont_menos);
return 0;
}
void leer(double a[])
{
int i;
cout << "Lectura de las estaturas de los alumnos:" << endl;
for(i=0; i<10; i++)
{
cout << "Alumno " << i+1 << ": ";
cin >> a[i];
}
}
double estatura_media(double a[])
{
double media = 0;
int i;
for(i=0; i<10; i++)
{
media = media + a[i];
}
media = media / 10;
return media;
}
void max_min(double a[], double &max, double &min)
{
int i;
max = min = a[0];
for(i=1; i<10; i++)
{
Fundamentos de Programacin
if(a[i]>max)
max = a[i];
else if(a[i]<min)
min = a[i];
}
}
void cuantos_mayor_menor_media(double a[], double media,
int &mayores_media, int &menores_media)
{
int i;
for(i=0; i<10; i++)
{
if(a[i]>media)
mayores_media++;
else if(a[i]<media)
menores_media++;
}
}
void mostrar_resultados(double a[], double media, double mayor,
double menor, int mayores_media, int menores_media)
{
int i;
system("cls");
cout << fixed << setprecision(2);
cout << "Estatura de los alumnos de la clase" << endl;
cout << "-----------------------------------" << endl;
for(i=0; i<10; i++)
{
cout << "Alumno " << setw(4) << i+1 << ": " << a[i] << endl;
}
cout << "Mayor estatura: " << mayor << endl;
cout << "Menor estatura: " << menor << endl;
cout << "Estatura media: " << media << endl;
cout << "Hay " << mayores_media << " alumnos con estatura ";
cout << "superior a la media" << endl;
cout << "Hay " << menores_media << " alumnos con estatura ";
cout << "inferior a la media" << endl << endl;
}
Fundamentos de Programacin