ESTRUCTURA DE
DATOS
TRABAJO T1
DOCENTE
Lourdes Amaya
luciana villanueva vasquez
Estructura de Datos
I. Arreglos Unidimensionales
1. Elimine el menor elemento impar de un array, e insrtelo en la 2da posicin.
#include <iostream>
#define tam 10
using namespace std;
int leer(int a[], int n)
{
int may=0;
for(int i=0; i<n; i++)
{
cout<<"Ingrese el elemento"<<i<<":"<<endl;
cin>>a[i];
}
return may;
}
int m(int a[], int n, int menor)
{
menor=a[0];
for(int i=0; i<n; i++)
{
if(a[i]%2 !=0)
{
if(a[i]<menor)
{
menor=a[i];
}
}
}
return menor;
}
int encontrarPosicion(int a[], int n, int menor, int pos)
{
menor=a[0];
for(int i=0; i<n; i++)
{
if((a[i]%2)!=0)
{
if(a[i]<menor)
{
pos=i;
}
}
}
return pos;
}
int eliminar(int a[],int y, int n)
{
for(int i=y; i<n; i++)
{
a[i]=a[i+1];
}
return n-1;
}
void imprimir(int a[], int n)
{
for(int i=0; i<n; i++)
{
cout<<a[i];
}
}
int agregar(int a[],int x, int y, int n)
{
for(int i=n; i>y; i--)
{
a[i]=a[i-1];
}
a[1]=x;
return n+1;
}
int main(int argc, char** argv)
{
int a[4],x,y,menor,n,pos;
cout<<"Ingrese la cantidad de elementos"<<endl;
cin>>n;
leer(a,n);
x=m(a,n,menor);
cout<<"\nMenor elemento:"<<x<<endl;
y=encontrarPosicion(a,n,menor,pos);
cout<<"Posicion:"<<y<<endl;
eliminar(a,y,n);
imprimir(a,n-1);
cout<<endl;
agregar(a,x,y,n);
cout<<endl;
imprimir(a,n+1);
return 0;
}
2. Invierta solo los elementos impares de un arreglo.
#include <iostream>
using namespace std;
int leer(int a[], int n)
{
for(int c=0; c<n; c++)
{
cout<<"Ingrese el elemento"<<c<<":"<<endl;
cin>>a[c];
}
}
int impar(int a[], int n, int imp[])
{
int x;
int nc=0;
for(int c=0; c<n; c++)
{
if(a[c]%2 !=0)
{
imp[c]=a[c];
nc=nc+1;
x=imp[c];
cout<<x<<endl;
}
}
return x;
}
int numimp(int a[], int n, int imp[], int nc, int r[])
{
for(int c=0; c<n; c++)
{
if(a[c]%2 !=0)
{
imp[c]=a[c];
nc=nc+1;
}
}
cout<<"\n"<<nc;
return nc;
}
void invertir(int n, int imp[], int r[], int nc)
{
for(int c=nc; c>0; c--)
{
r[c]=imp[c-1];
cout<<"\n"<<r[c];
}
}
int main()
{
int a[10],n,imp[10],r[10],nc=0;
cout<<"Ingrese cantidad"<<endl;
cin>>n;
leer(a,n);
impar(a,n,imp);
numimp(a,n,imp,nc,r);
invertir(n,imp,r,nc);
return 0;
}
3. Encuentre el segundo menor elemento de un arreglo.
#include <iostream>
using namespace std;
void leer(int a[], int n)
{
for(int i=0; i<n; i++)
{
cout<<"Ingrese el elemento"<<i<<":"<<endl;
cin>>a[i];
}
}
void ordenarBurbuja(int a[], int n)
{
int interruptor=1;
for(int i=0; i<n-1 && interruptor; i++)
{
interruptor=0;
for(int j=0; j<n-i-1; j++)
{
if(a[j]>a[j+1])
{
int aux;
interruptor=1;
aux=a[j];
a[j]=a[j+1];
a[j+1]=aux;
}
}
}
}
int main()
{
int a[50],n,menor;
cout<<"Ingrese la cantidad de elementos"<<endl;
cin>>n;
leer(a,n);
ordenarBurbuja(a,n);
menor=a[1];
cout<<"Segundo menor elemento:"<<menor;
return 0;
}
4. Ordene un arreglo por seleccin.
#include <iostream>
using namespace std;
void leer(int a[], int n)
{
for(int i=0; i<n; i++)
{
cout<<"Ingrese el elemento"<<i<<":"<<endl;
cin>>a[i];
}
}
void ordenarSeleccion(int a[],int n)
{
int i,j,aux;
for(i=1;i<n;i++)
{
aux=a[i];
for(j=i-1;j>=0;j--)
{
if(aux>a[j])
{
a[j+1]=aux;
break;
}
else
{
a[j+1]=a[j];
}
}
if(j==-1)
{
a[0]=aux;
}
}
}
void imprimir(int a[], int n)
{
for(int i=0; i<n; i++)
{
cout<<a[i];
}
}
int main()
{
int a[50];
int n;
cout<<"Ingrese la cantidad de elementos:"<<endl;
cin>>n;
leer(a,n);
ordenarSeleccion(a,n);
imprimir(a,n);
return 0;
}
5. Elimine todas las ocurrencias (valores repetidos) de un arreglo.
#include <stdio.h>
#include <iostream>
using namespace std;
void leer(int vo[], int n)
{
for(int i=0; i<n; i++)
{
cout<<"Ingrese el elemento"<<i<<":"<<endl;
cin>>vo[i];
}
}
void repetidos(int vo[], int va[], int vr[], int n)
{
int c,num,x=0,y,z=0;
for (int i=0;i<n;i++)
{
c=0;
num=vo[i];
va[x]=num;
x++;
for(y=0;y<n;y++)
{
if (va[y]==num )
{
c++;
}
}
if(c==1)
{
vr[z]=num;
z++;
}
}
cout<<"Vector resultante:"<<endl;
for (int i=0;i<z;i++)
{
cout<<vr[i]<<endl;
}
}
int main ()
{
int vo[10];
int va[10];
int vr[10];
int c,num,x=0,y,z=0,n;
cout<<"Ingrese la cantidad de elementos del arreglo:"<<endl;
cin>>n;
leer(vo,n);
repetidos(vo,va,vr,n);
return 0;
}
II. Arreglos Bidimensionales
1. En una tienda las siguientes prendas son las que ms se venden: polos, zapatos y medias.
Cabe destacar que las cantidades se expresan en miles. En el ao 2011, se vendieron 10 mil
polos, 5 mil medias y mil zapatos; al ao siguiente, 2 mil polos, 4 mil medias y 6 mil zapatos;
mientras que en el 2013, 3 mil polos, 2 mil medias y 7 mil zapatos;
#include <iostream>
#include <conio.h>
using namespace std;
void leerElemento(int a[][20])
{
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<"Ingrese elemento"<<"["<<i<<"]["<<j<<"]:";
cin>>a[i][j];
}
}
}
void imprimirMatriz(int a[][20])
{
cout<<"Matriz de produccion"<<endl;
for(int i=0; i<3; i++)
{
cout<<"\n";
for(int j=0; j<3; j++)
{
cout<<"\t";
cout<<a[i][j];
}
}
}
//Filas
//suma de filas
int sumarFilas(int a[][20])
{
int s,sf,sumaFilas[20];
for(int i=0; i<3; i++)
{
s=0;
for(int j=0; j<3; j++)
{
s=a[i][j]+s;
}
sumaFilas[i]=s;
sf=sumaFilas[i];
cout<<"\n"<<sf;
}
return sf;
}
//promedio de filas
int promedioFilas(int a[][20], float pr[])
{
int p;
int s,sumaFilas[20];
for(int i=0; i<3; i++)
{
s=0;
for(int j=0; j<3; j++)
{
s=a[i][j]+s;
}
sumaFilas[i]=s;
pr[i]=sumaFilas[i]/3;
p=pr[i];
cout<<"\n"<<p;
}
return p;
}
//mayor elemento por fila
int mayorElemFila(int a[][20], int mf[])
{
int y;
mf[0]=0;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
if(a[i][j]>mf[i])
{
mf[i]=a[i][j];
}
}
y=mf[i];
cout<<y<<endl;
}
return y;
}
//menor elemento por fila
int menorelemento(int a[][20], int menor[])
{
int l;
menor[0]=a[0][0];
for (int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
if (a[i][j]<menor[i])
{
menor[i]=a[i][j];
}
}
l=menor[i];
cout<<l<<endl;
}
return l;
}
//COLUMNAS
//suma de columnas
int sumarColumnas(int a[][20])
{
int s,sc,sumaCol[20];
for(int j=0; j<3; j++)
{
s=0;
for(int i=0; i<3; i++)
{
s=a[i][j]+s;
}
sumaCol[j]=s;
sc=sumaCol[j];
cout<<"\n"<<sc;
}
return sc;
}
//mayor elemento de cada columna
int mayorElemCol(int a[][20], int mc[])
{
mc[0]=0;
int c;
for(int j=0; j<3; j++)
{
for(int i=0; i<3; i++)
{
if(a[i][j]>mc[j])
{
mc[j]=a[i][j];
}
}
c=mc[j];
cout<<c<<endl;
}
}
//menor elemento de cada columna
int menorEleCol(int a[][20], int menc[])
{
menc[0]=a[0][0];
int mencol;
for(int j=0; j<3; j++)
{
for(int i=0; i<3; i++)
{
if(a[i][j]<menc[j])
{
menc[j]=a[i][j];
}
}
mencol=menc[j];
cout<<mencol<<endl;
}
return mencol;
}
//promedio de columna
int promedioColumnas(int a[][20], int pc[])
{
int prc;
int s,sumaCol[20];
for(int j=0; j<3; j++)
{
s=0;
for(int i=0; i<3; i++)
{
s=a[i][j]+s;
}
sumaCol[j]=s;
pc[j]=sumaCol[j]/3;
prc=pc[j];
cout<<"\n"<<prc;
}
return prc;
}
//FILAS Y COLUMNAS
//maxima suma de columna
int sumaMaxCol(int a[][20])
{
int maxc=0;
int s,sc,sumaCol[20];
for(int j=0; j<3; j++)
{
s=0;
for(int i=0; i<3; i++)
{
s=a[i][j]+s;
}
sumaCol[j]=s;
if(sumaCol[j]>maxc)
{
maxc=sumaCol[j];
}
}
cout<<maxc;
return maxc;
}
//maxima suma de fila
int sumaMaxFil(int a[][20])
{
int maxf=0;
int s,sf,sumaFilas[20];
for(int i=0; i<3; i++)
{
s=0;
for(int j=0; j<3; j++)
{
s=a[i][j]+s;
}
sumaFilas[i]=s;
if(sumaFilas[i]>maxf)
{
maxf=sumaFilas[i];
}
}
cout<<maxf;
return maxf;
}
//eliminar fila
void eliminarFila(int a[][20], int pos)
{
for(int i=pos; i<3; i++)
{
for(int j=0; j<3; j++)
{
a[i][j]=a[i+1][j];
}
}
}
void imprimirMatriz(int a[][20], int f, int c)
{
for(int i=0; i<f; i++)
{
cout<<"\n";
for(int j=0; j<c; j++)
{
cout<<"\t";
cout<<a[i][j];
}
}
}
int main()
{
int a[20][20];
//fila
int mf[3];
int menor[3];
float pr[3];
//columna
int mc[3];
int menc[3];
int pc[3];
//eliminar
int pos;
int f=3;
int c=3;
leerElemento(a);
imprimirMatriz(a);
cout<<"\n";
cout<<"\nSuma de las filas"<<endl;
sumarFilas(a);
cout<<"\n";
cout<<"\nMayor elemento de cada fila"<<endl;
mayorElemFila(a,mf);
cout<<"\nMenor elemento de cada fila"<<endl;
menorelemento(a,menor);
cout<<"\nPromedio de las filas"<<endl;
promedioFilas(a,pr);
cout<<"\n";
cout<<"\nSuma de las columnas"<<endl;
sumarColumnas(a);
cout<<"\nMayor elemento de cada Columna"<<endl;
mayorElemCol(a,mc);
cout<<"\nMenor elemento de cada columna"<<endl;
menorEleCol(a,menc);
cout<<"\nPromedio de las columnas"<<endl;
promedioColumnas(a,pc);
cout<<"Mayor suma de las filas"<<endl;
sumaMaxFil(a);
cout<<"\nMayor suma de las columnas"<<endl;
sumaMaxCol(a);
cout<<"\nEliga fila que desee eliminar"<<endl;
cin>>pos;
eliminarFila(a,pos);
cout<<"\nMatriz resultante:"<<endl;
imprimirMatriz(a,f-1,c);
return 0;
}
II. Arreglos de Cadenas: ( 7 puntos)
1. Programar funciones anlogas a strlen(), strcpy(), strcat() y strcmp().
a. Funcin strlen
#include <iostream>
#include <string.h>
using namespace std;
int longitud(char c[])
{
int l=0;
while(c[l]!='\0')
{
l++;
}
return l;
}
int main()
{
char c[]="luciana";
cout<<"la cadena:"<<c<<endl;
cout<<"longitud de la cadena"<<longitud(c);
return 0;
}
b. Funcion strcpy
#include <iostream>
#include <string.h>
#define tam 50
using namespace std;
int longitud(char c[])
{
int l=0;
while(c[l]!='\0')
{
l++;
}
return l;
}
int main(int argc, char** argv)
{
char c1[tam]="hola";
char c2[tam]="luciana";
int x;
x=longitud(c2);
cout<<"cadena 1:"<<c1<<endl;
cout<<"cadena 2:"<<c2<<endl;
for(int i=0; i<x; i++)
{
c1[i]=c2[i];
}
cout<<"Ahora la cadena 1 es:"<<c1;
return 0;
}
c. Funcin strcat
#include <iostream>
#include <string.h>
#define tam 50
using namespace std;
int longitud(char c[])
{
int l=0;
while(c[l]!='\0')
{
l++;
}
return l;
}
void unir(char c1[], char c2[], int x, int y)
{
for(int i=0; i<x; i++)
{
c2[y+i]=c1[i];
}
c2[y+x]='\0';
cout<<"Ahora la cadena 2 es:"<<c2;
}
int main(int argc, char** argv)
{
char c1[tam]="luciana";
char c2[tam]="villanueva";
int x,y;
cout<<"cadena 1:"<<c1<<endl;
cout<<"cadena 2:"<<c2<<endl;
x=longitud(c1);
y=longitud(c2);
unir(c1,c2,x,y);
return 0;
}
d. Funcin strcmp
2. Realice una Matriz de Caracteres y indique la palabra que forman las filas, las
columnas y las diagonales.
#include <iostream>
using namespace std;
void leer(char p[][50], int f, int c)
{
for(int i=0; i<f; i++)
{
for(int j=0; j<c; j++)
{
cout<<"Letra"<<endl;
cin>>p[i][j];
}
}
}
void imprimir(char m[][50], int f, int c)
{
for(int i=0; i<f; i++)
{
cout<<"\n";
for(int j=0; j<c; j++)
{
cout<<"\t";
cout<<m[i][j];
}
}
cout<<endl;
}
void columnas(char m[][50], int f, int c, char vc[])
{
cout<<"\nColumna:"<<endl;
for(int j=0; j<c; j++)
{
for(int i=0; i<f; i++)
{
vc[j]=m[i][j];
cout<<vc[j];
}
}
cout<<endl;
}
void filas(char m[][50], int f, int c, char vf[])
{
cout<<"\nFila:"<<endl;
for(int i=0; i<f; i++)
{
for(int j=0; j<c; j++)
{
vf[i]=m[i][j];
cout<<vf[i];
}
}
cout<<endl;
}
void diagonalPrincipal(char m[][50], int f, int c, char dp[])
{
cout<<"\nFila:"<<endl;
for(int i=0; i<f; i++)
{
for(int j=0; j<c; j++)
{
if(i==j)
{
dp[i]=m[i][j];
cout<<dp[i];
}
}
}
}
int main()
{
char m[50][50];
char vc[50];
char vf[50];
char dp[50];
int f,c;
cout<<"ingrese numero de filas"<<endl;
cin>>f;
cout<<"ingrese numero de columnas"<<endl;
cin>>c;
leer(m,f,c);
imprimir(m,f,c);
columnas(m,f,c,vc);
filas(m,f,c,vf);
diagonalPrincipal(m,f,c,dp);
return 0;
}
3. Ordene varias palabras por el mtodo de burbuja y seleccin.
3.1. Mtodo de burbuja
#include <iostream>
#include <string.h>
using namespace std;
void leer(char a[][10], int np)
{
int c=0;
do
{
cout<<"Ingrese palabra: ";
cin>>a[c];
c++;
}
while (c<np);
}
void ordenarBurbuja(char a[][10], int np, char temp[])
{
int j, i;
for(i = 0; i < np-1; i++)
{
for(j = np-1; j > i; j--)
{
if(strcmp(a[j-1],a[j]) > 0)
{
strcpy(temp, a[j-1]);
strcpy(a[j-1], a[j]);
strcpy(a[j], temp);
}
}
}
for(int i=0; i<np; i++)
{
cout<<a[i];
cout<<"\n";
}
}
int main()
{
int tam, i;
char a[10][10];
char temp[10];
int np;
int c=0;
cout<<"Ingrese el numero de palabras"<<endl;
cin>>np;
leer(a,np);
ordenarBurbuja(a,np,temp);
return 0;
}
3.2. Mtodo de seleccin
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include <iostream>
using namespace std;
void leer(char a[][20], int np, char aux[])
{
int i,j,k,c=0;
do
{
cout<<"Ingrese palabra: ";
cin>>a[c];
c++;
}
while (c<np);
for(i=0; i<c-1; i++)
{
k=i;
strcpy(aux, a[i]);
for(j=i+1; j<c; j++)
{
if(strcmp(a[j], aux)<0)
{
k=j;
strcpy(aux, a[j]);
}
}
strcpy(a[k],a[i]);
strcpy(a[i],aux);
}
for(i=0; i<c; i++)
{
cout<<a[i];
cout<<"\n";
}
}
int main()
{
char a[10][20];
char aux[20];
int np;
int i,j,k,c=0;
cout<<"Ingrese el numero de palabras"<<endl;
cin>>np;
leer(a,np,aux);
return 0;
}
IV. Estructuras ( 5 puntos)
1.- Realice un mantenimiento completo:
#include <conio.h>
#include<string.h>
using namespace std;
struct DPersona
{
char nombre[20];
int edad;
char sexo;
float estatura;
};
//opcion 1
void leerPersona(DPersona personas[],int cantidad)
{
for(int i=0;i<cantidad;i=i+1)
{
cout<<"\nPersona"<<i<<":"<<endl;
cout<<"Ingrese el nombre de la persona: ";
fflush(stdin);
gets(personas[i].nombre);
cout<<"Ingrese la edad: ";
cin>>personas[i].edad;
cout<<"Ingrese el sexo: ";
cin>>personas[i].sexo;
cout<<"Ingrese la estatura: ";
cin>>personas[i].estatura;
}
}
//otros
void imprimirPersona(DPersona personas[],int cantidad)
{
for(int i=0;i<cantidad;i=i+1)
{
cout<<"\nPersona"<<i<<":"<<endl;
cout<<"Nombre de la persona: "<<personas[i].nombre<<endl;
cout<<"Edad: "<<personas[i].edad<<endl;
cout<<"Sexo: "<<personas[i].sexo<<endl;
cout<<"Estatura: "<<personas[i].estatura<<endl;
}
}
//opcion 2
void consultaDatos(DPersona personas[], int nreg)
{
cout<<"Nombre de la persona: "<<personas[nreg].nombre<<endl;
cout<<"Edad: "<<personas[nreg].edad<<endl;
cout<<"Sexo: "<<personas[nreg].sexo<<endl;
cout<<"Estatura: "<<personas[nreg].estatura<<endl;
}
void ingresarNuevo(DPersona personas[], int nreg)
{
cout<<"Ingrese el nombre de la persona: ";
fflush(stdin);
gets(personas[nreg].nombre);
cout<<"Ingrese la edad: ";
cin>>personas[nreg].edad;
cout<<"Ingrese el sexo: ";
cin>>personas[nreg].sexo;
cout<<"Ingrese la estatura: ";
cin>>personas[nreg].estatura;
}
void modificaDatos(DPersona personas[], int nreg)
{
cout<<"---Datos actuales---"<<endl;
consultaDatos(personas,nreg);
cout<<"---Modifique datos:---"<<endl;
ingresarNuevo(personas,nreg);
}
// opcion 3
int eliminaDatos(int nreg, DPersona personas[], int cantidad)
{
char rpta;
cout<<"Esta seguro que deseea eliminar algun dato(s/n)?"<<endl;
cin>>rpta;
if(rpta=='s')
{
for(int i=nreg; i<cantidad-1; i++)
{
personas[i]=personas[i+1];
cantidad--;
}
}
return cantidad;
}
//opcion 4
void ordenarSeleccion(DPersona personas[], int cantidad)
{
int i,j;
for(i=1;i<cantidad;i++)
{
for(j=cantidad-1;j>=i;j--)
{
if(strcmp(personas[j-1].nombre,personas[j].nombre) <0)
{
DPersona aux;
aux=personas[j-1];
personas[j-1]=personas[j];
personas[j]=aux;
}
}
}
}
int main()
{
DPersona personas[50];
int cantidad;
int nreg,x;
cout<<"Numero de personas que va ingresar:"<<endl;
cin>>cantidad;
int opc;
char rpta;
while(1)
{
cout<<"\nMenu de opciones"<<endl;
cout<<"1. Ingresar datos"<<endl;
cout<<"2. Modifica datos"<<endl;
cout<<"3. Elimina datos"<<endl;
cout<<"4. Ordena datos"<<endl;
cout<<"Elija opcion"<<endl;
cin>>opc;
switch(opc)
{
case 1: leerPersona(personas,cantidad);
break;
case 2:cout<<"Dato a modificar?"<<endl;
cin>>nreg;
modificaDatos(personas,nreg);
break;
case 3: cout<<"---Datos---"<<endl;
consultaDatos(personas,nreg);
cout<<"Dato que desea eliminar?"<<endl;
cin>>nreg;
x=eliminaDatos(cantidad,personas,nreg);
break;
case 4:cout<<"---Ordenamiento por orden alfabetico(mayor a menor)---"<<endl;
ordenarSeleccion(personas,cantidad);
imprimirPersona(personas,cantidad);
}
}
return 0;
}
2. Realice un ejemplo de estructuras anidadas.
#include <iostream>
#include <string>
using namespace std;
struct datosPersonales
{
string nombre[10];
int edad;
char esciv;
};
struct datosFisicos
{
float altura;
float peso;
};
struct datosEconomicos
{
int numhijos;
float sueldo;
int numtarj;
};
struct global
{
char sexo;
datosPersonales dp;
datosFisicos df;
datosEconomicos de;
};
void ordenarBurbuja(global persona[], int n)
{
global aux;
int interruptor=1;
int i,j;
for(i=0; i<cant-1 && interruptor; i++)
{
interruptor=0;
for(j=0; j<cant-i-1; j++)
{
if(persona[j].[Link]>per[j+1].[Link])
{
interruptor=1;
aux=persona[j];
persona[j]=persona[j+1];
persona[j+1]=aux;
}
}
}
}
void leerPersona(global persona[], int n)
{
for(int i=0; i<n; i++)
{
cout<<"---Datos Personales---";
cout<<"\nPersona"<<i<<":"<<endl;
cout<<"Ingrese el nombre:"<<endl;
cin>>persona[i].[Link][i];
cout<<"Ingrese la edad:"<<endl;
cin>>persona[i].[Link];
cout<<"Ingrese el estado civil:"<<endl;
cin>>persona[i].[Link];
cout<<"---Datos Fisicos---";
cout<<"\nIngrese la altura:"<<endl;
cin>>persona[i].[Link];
cout<<"Ingrese el peso:"<<endl;
cin>>persona[i].[Link];
cout<<"---Datos Economicos---";
cout<<"\nIngrese el numero de hijos:"<<endl;
cin>>persona[i].[Link];
cout<<"Ingrese el sueldo:"<<endl;
cin>>persona[i].[Link];
cout<<"Ingrese el numero de tarjetas:"<<endl;
cin>>persona[i].[Link];
}
}
void imprimirDatos(global persona[], int n)
{
for(int i=0; i<n; i++)
{
cout<<"---Datos Personales---";
cout<<"\nPersona"<<i<<":"<<endl;
cout<<"Nombre:"<<endl;
cout<<persona[i].[Link][i];
cout<<"Edad:"<<endl;
cout<<persona[i].[Link];
cout<<"Estado civil:"<<endl;
cout<<persona[i].[Link];
cout<<"---Datos Fisicos---";
cout<<"\nAltura:"<<endl;
cout<<persona[i].[Link];
cout<<"Peso:"<<endl;
cout<<persona[i].[Link];
cout<<"---Datos Economicos---";
cout<<"\nNumero de hijos:"<<endl;
cout<<persona[i].[Link];
cout<<"Sueldo:"<<endl;
cout<<persona[i].[Link];
cout<<"Numero de tarjetas:"<<endl;
cout<<persona[i].[Link];
}
}
int main()
{
int n;
datosPersonales p;
global persona[10];
cout<<"Numero de personas que va ingresar:"<<endl;
cin>>n;
leerPersona(persona,n);
ordenarBurbuja(persona,n);
imprimirDatos(persona,n);
return 0;
}