Programas en c++

Solo disponible en BuenasTareas
  • Páginas : 5 (1166 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de junio de 2011
Leer documento completo
Vista previa del texto
Programas realizados por mí en c++.
1.
#include <iostream.h>
#include <conio.h>
#define lim 50

void leer(int ,int);
void suma(int,int,int,int);
void presenta(int,int);

void leer(int v[lim],int x)
{int i;
for(i=0;i<x;i++)
{cout<<"elemento ["<<i<<"] :";
cin>>v[i];
}
}

void suma(int m[lim],int n[lim],int o[lim],int x)
{int i;for(i=0;i<x;i++)
o[i]=m[i]+n[i];

}

void presenta(int v[lim],int x)
{int i;
for(i=0;i<x;i++)
cout<<v[i]<<" ";
}

void main()
{int a[lim],b[lim],s[lim];
int n;
clrscr();
cout<<"\n\tINGRESE EL LIMITE DEL ARREGLO : ";
cin>>n;
cout<<"\n\tINGRESE VALORES AL PRIMER ARREGLO\n";
leer(a,n);
cout<<"\n\tINGRESE VALORES AL SEGUNDOARREGLO\n";
leer(b,n);
suma(a,b,s,n);
cout<<"\n\nLOS ARREGLOS INGRESADOS SON : \n\n";
cout<<"\n\tARREGLO A\n";
presenta(a,n);
cout<<"\n\tARREGLO B\n";
presenta(b,n);
cout<<"\n\tARREGLO SUMA ES:\n";
presenta(s,n);

getch();
}
2.
//Se tienen los siguientes atributos de personal: código, apellidos, nombres, día, mes y año de nacimiento.
// Se pide unabúsqueda binaria por fecha de nacimiento. Use estructura de arreglos.
#include<iostream.h>
#include<string.h>
#include<conio.h>
#define MAX 50
struct fecha{ char dia[3];
char mes[3];
char annio[5];
};
struct trabajador{ char codigo[9];
char nombre[MAX];
char apellido[MAX];struct fecha fecnac;
};
void leerPersonal(int,struct trabajador[]);
void ordenaxFecha(int,struct trabajador[]);
void listado(int,struct trabajador[]);
int bBinariaFecha(int,struct trabajador[],struct fecha);
void main (void)
{ int n,pos;
struct fecha f;
struct trabajador x[MAX];
cout<<"Ingresa numero de trabajadores de la empresa^^:";cin>>n;leerPersonal(n,x);
ordenaxFecha(n,x);
cout<<" Ingrese fecha a buscar"<<endl;
cout<<"Día:";cin>>f.dia;
cout<<"Mes:";cin>>f.mes;
cout<<"Año:";cin>>f.annio;
pos=bBinariaFecha(n,x,f);
if(pos==-1)cout<<"No se encuentra";
else cout<<"Lo encontramos en la posocion"<<pos;
getche();
}
void leerPersonal(int n,struct trabajador x[])
{ for (inti=0;i<n;i++)
{ cout<<"Codigo:";cin>>x[i].codigo;
cout<<"Apellido:";cin>>x[i].apellido;
cout<<"nombre:";cin>>x[i].nombre;
cout<<"dia de nacimiento:";cin>>x[i].fecnac.dia;
cout<<"mes de nacimientoo:";cin>>x[i].fecnac.mes;
cout<<"año de nacimiento:";cin>>x[i].fecnac.annio;
cout<<endl;
}
}
voidordenaxFecha(int n,struct trabajador x[])
{ struct trabajador temp;
char f1[9],f2[9];
for(int i=1;i<n;i++)
for(int j=n-1;j>=i;j--)
{ strcpy(f1,"");strcpy(f2,"");
strcat(f1,x[j-1].fecnac.annio);
strcat(f1,x[j-1].fecnac.mes);
strcat(f1,x[j-1].fecnac.dia);
strcat(f2,x[j].fecnac.annio);
strcat(f2,x[j].fecnac.mes);
strcat(f2,x[j].fecnac.dia);if(strcmp(f1,f2)>0)
{ temp=x[j-1];
x[j-1]=x[j];
x[j]=temp;
}
}
}
void listado(int n,struct trabajador x[])
{ cout<<endl<<"Listado de empleados.-"<<endl;
for(int i=0;i<n;i++)
cout<<x[i].codigo<<"\t" <<x[i].apellido<<"\t" <<x[i].nombre<<"\t"<<x[i].fecnac.dia<<"/"<<x[i].fecnac.mes<<"/"<<x[i].fecnac.annio<<endl;
cout<<endl;
}
int bBinariaFecha(int n,struct trabajador x[],struct fecha f)
{ char f1[9],f2[9];
int izq=0,der=n-1,mitad,band=0;
while(izq<=der)
{ mitad=(izq+der)/2;
strcpy(f1,"");strcpy(f2,"");
strcat(f1,f.annio);
strcat(f1,f.mes);
strcat(f1,f.dia);
strcat(f2,x[mitad].fecnac.annio);
strcat(f2,x[mitad].fecnac.mes);...
tracking img