Академический Документы
Профессиональный Документы
Культура Документы
DATOS ACADÉMICOS
Unidad : Primera unidad
Temas : Arreglos, Funciones, Estructuras y Archivos
Docente : Ing. Francisco Cari Incahuanaco
TEMA: ARREGLOS
OBJETIVO:
El alumno será capaz de:
Elaborar algoritmos de búsqueda lineal métodos de ordenamiento.
Simular operaciones con arreglos unidimensionales, bidimensionales y
multidimensionales.
Diseñar algoritmos para solucionar problemas reales haciendo uso de los
matrices.
EJERCICIOS:
#include"iostream.h"
main( )
{ int N,n,m,i,S=0;
cout<<"ingrese cantidad de números: ";
cin>>N;
for(i=1;i<=N;i++)
{ cout<<"Nota"<<i<<": ";
cin>>n;
S=S+n;
}
m=S/N;
cout<<"el promedio es:"<<m<<endl;
if(m>10.5)
cout<<"Aprobado";
#include"iostream.h"
main( )
{ int n,A[10],m,i,S=0;
cout<<"ingrese cantidad de numeros: ";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"A["<<i<<"]: ";
cin>>A[i];
S=S+A[i];
}
m=S/n;
cout<<"el promedio es:"<<m<<endl;
if(m>10.5)
cout<<"Aprobado";
else if(m>=8 && m<10.5)
cout<<"Desaprobado";
else
cout<<"Reprobado";
return 0;
}
#include"iostream.h"
main( )
{ int a,b,c,mayor, menor, centro;
cout<<"ingrese los numeros: ";
cin>>a>>b>>c;
if(a>b)
mayor=a;
else
mayor=b;
if(mayor<c)
mayor=c;
if(a<b)
menor=a;
else
menor=b;
if(menor>c)
menor=c;
centro=(a+b+c)-(mayor+menor);
cout<<"el mayor numero es:"<<mayor<<endl;
cout<<"el menor numero es:"<<menor<<endl;
cout<<"el valor central es:"<<centro;
return 0;
}
#include"iostream.h"
main( )
{ int A[3],indice,j,mayor,i;
cout<<"ingrese los numeros: ";
for(i=0;i<=2;i++)
{cout<<"A["<<i<<"]:";
cin>>A[i]; }
mayor=A[0];
for(j=0;j<=2;j++)
{ if(A[j]>mayor)
mayor=A[j];
indice=j;
}
cout<<"el mayor valor es:"<<mayor;
return 0;
}
#include"iostream.h"
main( )
{ int n,i,Aprobado=0,desaprobado=0;
float A[100],porcentaje;
cout<<"ingrese cantidad de notas";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"Nota"<<i<<":";
cin>>A[i];
}
for(i=1;i<=n;i++)
{ if(A[i]>=10.5)
Aprobado=Aprobado+1;
else
desaprobado=desaprobado+1;
}
cout<<"el numero de aprobados es:"<<Aprobado<<endl;
cout<<"el numero de desaprobados es:"<<desaprobado<<endl;
cout<<"el porcenaje de aprobados
es:"<<Aprobado*100/n<<"%"<<endl;
cout<<"el porcentaje de desaprobados
es:"<<desaprobado*100/n<<"%"<<endl;
return 0;
}
#include"iostream.h"
main( )
{ int n,i,v=0,x=0,A[100];
cout<<"ingrese cantidad de notas";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
for(i=1;i<=n;i++)
{ cout<<A[i]<<endl;
}
cout<<"vector inversa"<<endl;
for(i=n;i>0;i--)
{ cout<<A[i]<<endl;
}
return 0;
}
#include"iostream.h"
main( )
{ int n,i,mayor,indice,j,A[100];
cout<<"ingrese cantidad de notas";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
mayor=A[1];
for(j=1;j<=n;j++)
{ if(A[j]>mayor)
{ mayor=A[j];
indice=j;
}
}
cout<<"el mayor es:"<<mayor<<"y esta en la posicion"<<indice<<endl;
return 0;
}
#include"iostream.h"
main( )
{ int A[100], n, i, indice, nBuscar, encontrado=0;
cout<<"ingrese el tamaño del vector";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<i<<": ";
cin>>A[i];
}
cout<<"ingrese el número a buscar";
cin>>nBuscar;
for(i=1;i<=n;i++)
{ if(nBuscar==A[i])
{ encontrado=1;
indice=i;
}
}
if(encontrado)
cout<<"el número se encuentra en la posición"<<indice<<endl;
else
cout<<"no se encuentra el némero buscado"<<endl;
return 0;
}
MÉTODOS DE ORDENAMIENTO
7. Método de la Burbuja
#include"iostream.h"
main( )
{ int n,i,j,temp,A[100];
cout<<"ingrese cantidad de notas";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"Nota"<<i<<":";
cin>>A[i];
}
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{ if(A[i]>A[j])
temp=A[i];
A[i]=A[j];
A[j]=temp;
}
for(i=1;i<=n;i++)
cout<<A[i]<<endl;
return 0;
}
#include "iostream.h"
main( )
{ int A[100],N,i,k,aux;
cout<<"ingrese la dimensión del vector";
cin>>N;
for(i=1;i<=N;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
for(i=2; i<=N;i++)
{ aux=A[i];
k=i-1;
while((k>=1)&&(aux<A[k]))
{ A[k+1]=A[k];
k=k-1;
}
A[k+1]=aux;
}
for(k=1;k<=N;k++)
cout<<A[k]<<endl;
return 0;
}
9. Selección Directa
#include "iostream.h"
main( )
{ int A[100],N,i,j,menor,k;
cout<<"ingrese la dimensión del vector";
cin>>N;
for(i=1;i<=N;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
for(i=1; i<=N-1;i++)
{ menor=A[i];
k=i;
for(j=i+1; j<=N;j++)
{ if(A[j]<menor)
{ menor=A[j];
k=j;
}
}
A[k]=A[i];
A[i]=menor;
}
for(k=1;k<=N;k++)
cout<<A[k]<<endl;
return 0;
}
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#define max 100
int main( )
{ int A[max],j,item,temp,i,k,n;
clrscr( );
cout<<"\n\tcodigo del metodo de ordenamiento heap sort\n\n";
cout<<"Cantidad de elementos del VECTOR: "; cin>>n;
for(i=1;i<=n;i++)
{
cout<<"["<<i<<"]:"; cin>>A[i];
}
for(k=n;k>0;k--)
{ for(i=1;i<=k;i++)
{ item=A[i];
j=i/2;
while(j>0 && A[j]<item)
{ A[i]=A[j];
i=j;
j=j/2;
}
A[i]=item;
}
temp=A[1];
A[1]=A[k];
A[k]=temp;
#include<iostream.h>
#include<conio.h>
main( )
{ int izq,der, aux,i,N,k;
float A[20];
cout<<"ingrese dimencion de matriz"; cin>>N;
k=N;izq=2;der=N;
for(i=1;i<=N;i++)
{ cout<<i<<" : ";
cin>>A[i];
}
while(izq<der)
{
for(i =der;i>=izq;i--)
if (A[i-1]>A[i])
{ aux=A[i-1];
A[i-1]=A[i];
A[i]=aux;
k=i;
}
izq=k+1;
for(i =izq ;i<=der;i++)
if (A[i-1]>A[i])
{ aux=A[i-1];
A[i-1]=A[i];
A[i]=aux;
k=i;
}
der=k-1;
}
for(i=1;i<=N;i++)
cout<<A[i]<<" ";
return 0;
}
12. Búsqueda binaria (los elementos del vector deben estar previamente
ordenadas )
#include"iostream.h"
main( )
{ int n,A[100],i,j,central,nbuscar,encontrado=0,primero=0,ultimo,temp;
cout<<"ingrese cantidad de elementos:";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"A["<<i<<"]: ";
cin>>A[i];
}
cout<<"elementos ordenados"<<endl;
for(i=1;i<n;i++)
{ for(j=i+1;j<=n;j++)
if(A[i]>A[j])
{ temp=A[i];
A[i]=A[j];
A[j]=temp;
}
}
for(i=1;i<=n;i++)
{ cout<<"A["<<i<<"]: "<<A[i]<<endl;
}
#include"iostream.h"
main( )
{ int n,i,j,a,b,mayor,indice1,indice2,A[100][100];
cout<<"ingrese cantidad de elementos";
cin>>n;
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{
cout<<"A["<<i<<"]"<<"["<<j<<"]:";
cin>>A[i][j];
}
}
mayor=A[1][1];
for(a=1;a<=n;a++)
{ for(b=1;b<=n;b++)
{ if(A[a][b]>mayor)
{ mayor=A[a][b];
indice1=a;
indice2=b;
}
}
}
#include "iostream.h"
int main( )
{ int matriz[15][15], i, j, n, su=0, m;
cout<<"ingrese número de filas:";
cin>>m;
cout<<"ingrese número de columnas:";
cin>>n;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{ cout<<"matriz"<<i<<j;
cin>>matriz[i][j];
su=su+matriz[i][j];
cout<<"matriz dato"<<endl;
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
cout<<matriz[i][j]<<endl;
}
cout<<"la suma total es:"<<su<<endl;
return 0;
}
#include<iostream.h>
#include<conio.h>
main ( )
{ int A[20][20];
int n,i,j,m,F[10],C[10];
cout<<"Ingrese el numero de filas:";
cin>>n;
cout<<"Ingrese el numero de columnas:";
cin>>m;
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
#include "iostream.h"
main( )
{
int n,m,i,a,b,k,j,A[100][100],B[100][100],C[100][100];
cout<<"ingresando el orden de la matriz A[i][j]"<<endl;
cout<<"ingrese la fila de la matriz:";
cin>>n;
cout<<"ingrese la columna de la matriz:";
cin>>m;
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
{ cout<<"A["<<i<<"]"<<"["<<j<<"]:";
cin>>A[i][j];
}
}
cout<<"ingresando elementos de la matriz B"<<endl;
cout<<"ingrese la fila de la matriz";
cin>>a;
cout<<"ingrese la columna de la matriz";
cin>>b;
for(i=1;i<=a;i++)
{ for(j=1;j<=b;j++)
{ cout<<"B["<<i<<"]"<<"["<<j<<"]:";
cin>>B[i][j];
}
}
cout<<"multiplicando las dos matrices"<<endl;
if(m==a)
{ for(i=1;i<=n;i++)
{ for(j=1;j<=b;j++)
{ C[i][j]=0;
for(k=1;k<=m;k++)
{ C[i][j]=C[i][j]+A[i][k]*B[k][j];
}
cout<<C[i][j]<<" ";
}
cout<<endl;
}
}
else
cout<<"no son compatibles las matrices"<<endl;
return 0;
}
17. Desarrollar un programa para leer los elementos de una matriz cuadrada,
y luego asignar los elementos de la diagonal principal a un vector M.
#include "iostream.h"
main( )
{
int n,m,i,j,A[100][100],M[100];
#include<iostream.h>
#include<conio.h>
#include<math.h>
main( )
{ int A[10][10],n,i,j,C[10];
cout<<"ingrese la dimensión del arreglo :";
cin>>n;
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{cout<<"ingrese matriz en la posición ["<<i<<"]["<<j<<"] -> :";
cin>>A[i][j];
}
}
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{ cout<<A[i][j]<<" ";
}
cout<<endl;
}
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{ if(i+j==n+1)
{ C[i]=A[i][j];
}
}
}
cout<<"la diagonal secundaria es:"<<endl;
for(i=1;i<=n;i++)
{
cout<<C[i]<<endl;
}
}
#include "iostream.h"
#include "iomanip.h"
main( )
{ int i,j,n,m;
double A[20][20],B[20],C[20],suma;
cout<<"ingrese cantidad de de alumnos";
cin>>n;
cout<<"ingrese cantidad notas";
cin>>m;
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
{ cout<<"A["<<i<<","<<j<<"] :";
cin>>A[i][j];
}
}
for(i=1;i<=n;i++)
{ suma=0;
for(j=1;j<=m;j++)
{ suma=suma+A[i][j];
}
B[i]=suma/m;
}
cout<<endl;
for(j=1;j<=m;j++)
{ suma=0;
for(i=1;i<=n;i++)
{ suma=suma+A[i][j];
}
C[j]=suma/n;
}
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(1);
cout<<setw(10)<<"Alumno"<<setw(10)<<"Prom."<<setw(15)
<< "Examenes"<<endl;
for(i=1;i<=n;i++)
{ cout<<setw(10)<<i<<setw(10)<<B[i]<<" ";
for(j=1;j<=m;j++)
{ cout<<setw(5)<<A[i][j];
}
cout<<endl;
}
cout<<"Promedios/exam=";
for(j=1;j<=m;j++)
{ cout<<setw(5)<<C[j];
}
cout<<endl;
return 0;
}
#include "iostream.h"
#include "iomanip.h"
main( )
{ int i,j,k,l,m,n ;
float a[100][100];
float det;
cout<<"Ingrese el orden de la matriz";
cin>>n;
m=n-1;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{ cout<<"A["<<i<<"]"<<"["<<j<<"]:";
cin>>a[i][j];
}
}
cout<<"imprimiendo los elementos de la matriz"<<endl ;
for(i=1;i<=n;i++)
{ cout<<"| ";
for(j=1;j<=n;j++)
{cout<<a[i][j]<<" ";
}
cout<<"|"<<endl;
}
det=a[1][1];
for(k=1;k<=m;k++)
{
l=k+1;
for(i=l;i<=n;i++)
{ for(j=l;j<=n;j++)
a[i][j] = ( a[k][k]*a[i][j]-a[k][j]*a[i][k] )/a[k][k];
}
det=det*a[k+1][k+1];
}
cout<<"la determinante de la matriz es: "<<det<<endl;
return 0;
}
#include<iostream.h>
#include<conio.h>
main( )
{
double A[100][100],B[100][100],C[100][100],R[100][100];
float U[100][100];
int i,j,k,l,m,n,tem,temporal,p;
cout<<"ingrese dimencion de matriz"; cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=2*n;j++)
{ A[i][j]=0 ;
if(j-i==n || i==j)
A[i][j]=1;
B[i][j]=A[i][j];
}
for(i=1;i<=n;i++)
{ cout<<endl;
for(j=1;j<=2*n;j++)
cout<<A[i][j]<<" ";
}
cout<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<i<<"-"<<j<<" : ";
cin>>A[i][j];
B[i][j]=A[i][j];
}
cout<<endl<<endl;
for(i=1;i<=n;i++)
{ cout<<endl;
for(j=1;j<=2*n;j++)
cout<<A[i][j]<<" ";
}
i=1;
for(j=1;j<=n;j++)
{ if(i==j && i<=n)
{ for(m=1;m<=2*n;m++)
{ U[i][m]=A[i][m]/B[i][i];
C[i][m]=U[i][m];}
}
if(i==j&&i<=n)
{ for(k=1;k<=n;k++)
if(i!=k && i<=n)
{ for(m=i;m<=2*n;m++)
C[k][m]=A[k][m]-U[i][m]*B[k][i];
}
}
for(l=1;l<=n;l++)
for(p=1;p<=n*2;p++)
A[l][p]=C[l][p];
for(l=1;l<=n;l++)
for(p=1;p<=n*2;p++)
{ B[l][p]=A[l][p];
}
i++;
}
cout<<endl<<endl;
for(i=1;i<=n;i++)
{ cout<<endl;
for(j=1;j<=n*2;j++)
cout<<U[i][j]<<" ";
}
cout<<endl<<endl;
for(i=1;i<=n;i++)
{ cout<<endl;
for(j=1;j<=n*2;j++)
cout<<A[i][j]<<" ";
}
cout<<endl;
getch( );
}
OBJETIVO:
El alumno será capaz de:
Elaborar algoritmos con funciones predefinidas y definidas por el programador
Diseñar algoritmos que diferencie una función y un procedimiento.
Desarrollar algoritmos recursivos para resolucionar problemas matemáticos.
Resolver problemas haciendo uso de las funciones recursivos y procedimientos
EJERCICIOS:
#include "iostream.h"
double suma(double x, double y);
int main( )
{ double a, b, resul;
cout<<"teclee el primer valor";
cin>>a;
cout<<"teclee el segundo valor";
cin>>b;
resul=suma(a, b);
cout<<resul<<endl;
return 0;
}
#include "iostream.h"
int main( )
{ int opcion;
Do
{ cout<<"Operaciones Básicas"<<endl;
cout<<"1. Suma"<<endl;
cout<<"2. Resta"<<endl;
cout<<"3. Multiplicacion"<<endl;
cout<<"4. Division"<<endl;
cout<<"5. Salir"<<endl;
cout<<"ingrese la opcion entre 1-5:";
cin>>opcion;
}
while(opcion<1||opcion>5);
cout<<"teclee el primer valor: "<<endl;
cin>>a;
cout<<"teclee el segundo valor: "<<endl;
cin>>b;
switch (opcion)
{
case 1:resul=suma(a,b);
cout<<"El Resultado es: "<<resul<<endl; break;
return 0;
case 2:resul=resta(a,b);
cout<<"El Resultado es: "<<resul<<endl;
return 0;
case 3:resul=multiplicacion(a,b);
cout<<"El Resultado es: "<<resul<<endl;
return 0;
case 4:resul=division(a,b);
cout<<"El Resultado es: "<<resul<<endl;
return 0;
case 5:cout<<"gracias"<<endl;
return 0;
}
}
double suma(double x, double y)
{ z=a+b;
return z;}
#include "iostream.h"
char calif(int Nobtenido, int Nminimo);
int main( )
{
int puntos, minimo_para_aprobar;
char calif_letra;
cout<<"teclee sus puntos";
cin>>puntos;
cout<<"y los puntos minimos que necesita para aprobar:\n";
cin>>minimo_para_aprobar;
calif_letra=calif(puntos, minimo_para_aprobar);
cout<<"Recibió "<<puntos<<" puntos\n"
<<"el mínimo para aprobar es: "<<minimo_para_aprobar<<endl;
if(calif_letra=='A')
cout<<"Aprobo. ¡Felicidades!\n";
else
cout<<"lo siento. Reprobó\n";
cout<<"se asentara "<<calif_letra
<<" en su expediente.\n";
return 0;
}
#include<iostream.h>
double costo_total(int cantidad_par, double precio_par);
int main( )
{ double precio, factura;
int cantidad;
cout<<"teclee el numero de articulos adquiridos: ";
cin>>cantidad;
cout<<"teclee el precio por articulo $:";
cin>>precio;
factura=costo_total(cantidad,precio);
cout<<cantidad<<" artículos a "
#include <iostream.h>
int leer(int A[100], int n);
int burbuja(int [100], int n);
void imprimir(int [100],int);
int n;
main ( )
{ int n, A[100];
cout<<"ingresa cantidad de numeros:";
cin>>n;
leer(A,n);
burbuja(A,n);
return 0;
}
int leer(int A[100], int n)
{ int i;
for(i=1;i<=n;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
}
int burbuja(int A[100],int n)
{ int i,j,temp;
for(i=1;i<n;i++)
{ for(j=i+1;j<=n;j++)
{ if(A[i]>A[j])
{ temp=A[i];
A[i]=A[j];
A[j]=temp;
}
}
}
imprimir(A,n);
}
leercade.h
#include"iostream.h"
int leer(int A[], int n)
{ int i;
for(i=1;i<=n;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
}
void imprimir(int A[],int n)
{ int i;
cout<<"el nuevo arreglo ordenado es : "<<endl;
for(i=1;i<=n;i++)
{ cout<<" "<<A[i];
}
}
main ( )
{ int n, A[100];
cout<<"ingresa cantidad de numeros:";
cin>>n;
leer(A,n);
burbuja(A,n);
return 0;
}
int burbuja(int A[],int n)
{ int i,j,temp;
for(i=1;i<n;i++)
{ for(j=i+1;j<=n;j++)
{ if(A[i]>A[j])
{ temp=A[i];
A[i]=A[j];
A[j]=temp;
}
}
}
imprimir(A,n);
}
FUNCIONES RECURSIVAS
#include<iostream.h>
#include<string.h>
long fibonacci(long);
int main( )
{
long numero, resultado;
cout << "\nIngrese un numero : ";
cin >> numero;
resultado = fibonacci(numero);
cout << "\nFibonacci (" << numero << ") : " << resultado<<endl;
return 0;
}
long fibonacci(long n)
{ if (n==0 || n==1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
#include<iostream.h>
#include<conio.h>
long factorial(long);
int main( )
{
int n;
cout<<"ingrese faotorial";
cin>>n;
#include"iostream.h"
#include"stdlib.h"
long potencia(long x, long n);
main( )
{
long i,x,n;
cout<<"ingrese la base: ";
cin>>x;
cout<<"ingrese la potencia: ";
cin>>n;
for(i=0;i<n;i++)
cout<<x<<" elevado a la potencia "<<i<<" es: "<<potencia(x,i)<<endl;
return 0;
}
long potencia(long x, long n)
{
if(n==0)
return 1;
if(n>0)
return potencia(x,n-1)*x;
}
#include "iostream.h"
#include "conio.h"
int binario(int x);
main( )
{ int n;
cout<<"ingrese nro en base 10";
cin>>n;
cout<<"el nro en base 2 ="<<binario(n);
getch( );
}
int binario(int x)
{ //int x;
if(x==1)
return 1;
else
{ return ((binario(x/2)*10)+x%2);
}
}
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
int mcd(int,int);
main( )
{ int x,y;
cout<<"\n ingrese el primer numero:";
cin>>x;
cout<<"\n ingrese el segundo numero:";
cin>>y;
cout<<"\n el maximo comun divisor entre\t"<<x<<"\tY\t"<<y;
cout<<" es :"<<mcd(x,y);
getch( );
}
int mcd(int n,int m)
{
if(n % m==0)
return(m);
else
mcd(m,n % m);
}
OBJETIVO:
El alumno será capaz de:
Manejar varios tipos de datos en resolución de problemas
Utilizar las estructuras anidas en la elaboración de algoritmos similares a las
bases de datos.
Resolver problemas complejos de casos reales empleando estructuras.
EJERCICIOS:
struct complejo
{ float real1;
float real2;
float complejo1;
float complejo2;
}numero;
main( )
{ float sumareal,sumacomplejo,restareal,restacomplejo;;
cout<<"ingrese el primer numero real: ";
cin>> numero.real1;
cout<<"ingrese el segundo numero real: ";
cin>> numero.real2;
cout<<endl;
cout<<"ingrese el primer numero complejo: ";
cin>> numero.complejo1;
cout<<"ingrese el segundo numero complejo: ";
cin>> numero.complejo2;
cout<<endl;
sumareal=numero.real1 + numero.real2;
sumacomplejo=numero.complejo1 + numero.complejo2;
restareal=numero.real1 - numero.real2;
restacomplejo=numero.complejo1 - numero.complejo2;
cout<<"la suma de los nuemeros reales es: "<<sumareal<<endl;
cout<<"la suma de los nuemeros complejos es:
"<<sumacomplejo<<endl;
cout<<endl;
cout<<"la resta de los numeros reales es: "<<restareal<<endl;
cout<<"la resta de los numeros complejos es: "<<restacomplejo;
getch( );
}
#include "iostream.h"
#include "iomanip.h"
struct Alumno
{ int codigo;
char curso[50];
int nota1;
int nota2;
int nota3;
float promedio;
};
Alumno AlumnoSec[2];
int main( )
{ int i, n;
cout<<"cuantos datos desea ingresar? ";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"Ingrese el código del estudiante "<<i<<" ";
cin>>AlumnoSec[i].codigo;
cout<<"Ingrese el curso del estudiante: ";
cin>>AlumnoSec[i].curso;
cout<<"Ingrese nota1: ";
cin>>AlumnoSec[i].nota1;
cout<<"Ingrese nota2: ";
cin>>AlumnoSec[i].nota2;
cout<<"Ingrese nota3: ";
cin>>AlumnoSec[i].nota3;
AlumnoSec[i].promedio =
AlumnoSec[i].nota1+AlumnoSec[i].nota2+AlumnoSec[i].nota3)/
3.0;
#include "iostream.h"
#include "iomanip.h"
#include "iostream.h"
struct ventas
{ char cod_producto[50];
char nombre_producto[50];
double precio;
int cantidad;
double importe;
};
int main( )
{
const int numero=2;
ventas mante_ventas[numero];
cout<<"ingreso de productos"<<endl;
cout<<"--------------------"<<endl;
for(int i=0;i<=numero;i++)
{ cout<<"\n datos del productos"<<i+1<<endl;
cout<<"codigo: ";cin>>mante_ventas[i].cod_producto;
cout<<"Nombre: ";cin>>mante_ventas[i].nombre_producto;
cout<<"Precio: ";cin>>mante_ventas[i].precio;
cout<<"Cantidad: ";cin>>mante_ventas[i].cantidad;
mante_ventas[i].importe=(mante_ventas[i].cantidad*mante_ventas[i].precio);
}
cout<<"\n REPORTE DE PRODUCTOS"<<endl;
cout<<"-----------------------\n";
cout<<setiosflags(ios::left);
cout<<setw(10)<<"Codigo";
cout<<setw(15)<<"Nombre";
cout<<setw(10)<<"Precio";
cout<<setw(10)<<"Cantidad";
cout<<setw(10)<<"Importe"<<endl;
for(int c=0;c<=numero;c++)
{ cout<<setw(10)<<mante_ventas[c].cod_producto;
cout<<setw(15)<<mante_ventas[c].nombre_producto;
cout<<setw(10)<<mante_ventas[c].precio;
cout<<setw(10)<<mante_ventas[c].cantidad;
cout<<setw(10)<<mante_ventas[c].importe<<endl;
}
return 0;
}
#include"iostream.h"
#include"iomanip.h"
struct Fecha_edicion
{ unsigned int dia;
unsigned int mes;
unsigned int anyo;
};
struct Datos_libro
{ char nombre[50];
char autor[30];
char editorial[30];
Fecha_edicion fecha;
};
struct Libro
{ Datos_libro datos_libro;
double costo;
};
main( )
{ Libro lib;
cout<<"Nombre del Libro: ";cin.getline(lib.datos_libro.nombre,51);
cout<<"Nombre del Autor: ";cin.getline(lib.datos_libro.autor,31);
cout<<"Nombre del Editorial: ";cin.getline(lib.datos_libro.editorial,50);
cout<<endl<<"Fecha de edición del libro"<<endl;
cout<<"Dia: ";cin>>lib.datos_libro.fecha.dia;
cout<<"Mes: ";cin>>lib.datos_libro.fecha.mes;
cout<<"Anyo: ";cin>>lib.datos_libro.fecha.anyo;
cout<<"Costo: ";cin>>lib.costo;
cout<<"LISTA DE DATOS"<<endl;
cout<<"LIBRO";
cout<<setw(20)<<"AUTOR";
cout<<setw(20)<<"EDITORIAL";
cout<<setw(20)<<"FECHA DE EDICION";
cout<<setw(20)<<"COSTO"<<endl;
cout<<lib.datos_libro.nombre;
cout<<setw(20)<<lib.datos_libro.autor;
cout<<setw(20)<<lib.datos_libro.editorial;
cout<<setw(20)<<lib.datos_libro.fecha.dia;
cout<<lib.datos_libro.fecha.mes;
cout<<lib.datos_libro.fecha.anyo;
cout<<setw(20)<<lib.costo<<endl;
return 0;
}
OBJETIVO:
El alumno será capaz de:
Elaborar algoritmos para crear y almacenar datos en un archivo
Elaborar algoritmos para recuperar y modificar archivos de texto
Elaborar algoritmos para almacenar textos y/o registros de datos
EJERCICIOS:
void main( )
{ ofstream fichero("d:/ejemplo.txt");
fichero<<"Hola como estan deben irse a la casa "<<endl;
fichero << "Adios" << endl;
fichero.close( );
}
Lectura
#include <fstream.h>
#include <iostream.h>
main( )
{ fstream fichero;
char texto[200];
// Abro para lectura
fichero.open("d:/ejemplo.txt", ios::in); //io::in=modo entrada
fichero >> texto; // Leo una primera linea
while (!fichero.eof( )) // Mientras se haya podido leer algo //
eof:devuelve un valor distinto a cero
{ cout << texto << endl; // Muestro lo que lei
fichero >> texto; // Y vuelvo a intentar leer
}
fichero.close( ); // Finalmente, cierro
}
{ int opc;
for(;;)
{ cout<<setw(35)<<"Grabar 1"<<endl;
cout<<setw(35)<<"Recuperar 2"<<endl;
cout<<setw(35)<<"Salir 3"<<endl;
cout<<"ingrese la opcion: ";
cin>>opc;
switch(opc)
{ case 1:grabar( );break;
case 2:recuperar( );break;
case 3:exit(0);break;
default:cout<<"ingrese la opcion correcta"<<endl;break;
}
}
}
void grabar( )
{ char ruta[20];
char texto[200];
cout<<"ingrese el texto: ";
cin>>texto;
//cin.getline(texto,201);
cout<<"ingrese la unidad a grabar: ";
cin>>ruta;
ofstream fichero(ruta);
fichero<<texto<<endl;
fichero<<"Adios"<<endl;
fichero.close( );
}
void recuperar( )
{ char ruta[20];
fstream fichero;
char texto[200];
cout<<"ingrese la ruta";cin>>ruta;
fichero.open(ruta,ios::in);
if(fichero.bad( ))
{ cout<<"Error no se encuentra el archivo";
}
else
{ fichero>>texto;
while(!fichero.eof( ))
{ cout<<texto<<endl;
fichero>>texto;
}
}
fichero.close( );
}
void main( )
{ FILE *archdisco;
archdisco = fopen("c:/alumnos3.txt", "r");
fclose(archdisco);
getchar( );
}
FILE *archdisco;
archdisco = fopen("c:alumnos3.txt","a");
fwrite(&alumno,sizeof(alumno),1,archdisco);
fclose(archdisco);
//avisando usuario
cout<<"alumno insertado";
getchar( );
}
DATOS ACADÉMICOS
Unidad : Segunda Unidad
Temas : Punteros, Arreglos Dinámicos, Listas, Pilas y Colas
Docentes : Ing. Francisco Cari Incahuanaco
OBJETIVO:
El alumno será capaz de:
Utilizar los operadores de referencia y de indirección para realizar algorimos
básicos.
Ralizar algoritmos para gestionar la memoria dinámica haciendo uso de los
punteros o apuntadores.
Realizar operaciones básicas con arreglos dinámicos unidimensionales y
bidimensionales.
EJERCICIOS:
#include"iostream.h"
#include"stdio.h"
#include"conio.h"
int main( )
{
int a, *p, *q;
cout<<"ingrese un valor ";
cin>>a;
p=&a;
q=p;
cout <<"en la direccion "<<q <<" esta el valor "<<*q <<" y p apunta a "
<<*p <<endl;
return 0;
// printf("en la direccion %X esta el valor %d y p apunta a %X", q, *q, *p);
// getch( );
}
40. Array con punteros que imprime la posición del elemento, memoria y el
valor que corresponde a cada elemento.
#include "iostream.h"
main( )
{ int A[10];
int n,i, suma=0;
int *p;
p=&A[0];
cout<<"ingrese cantidad de elementos del vector"<<endl;
cin>>n;
for(i=0;i<n;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
for(i=0;i<n;i++)
{ cout<<"A["<<i<<"]:"<<p<<" "<<*p<<endl;
suma=suma+*p;
p++;
}
cout<<"la suma de los elementos es:"<<suma<<endl;
return 0;
}
#include "iostream.h"
main( )
{
int A[10];
int n,i,j,temp;
int *p;
p=&A[0];
for(i=0;i<n;i++)
{ cout<<"A["<<i<<"]:";
cin>>A[i];
}
cout<<"elementos desordenados"<<endl;
for(i=0;i<n;i++)
cout<<*(p+i)<<endl;
cout<<"el arreglo ordenado es:"<<endl;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(*(p+i)>*(p+j))
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
for(i=0;i<n;i++)
cout<<*(p+i)<<endl;
return 0;
}
#include"iostream.h"
int main( )
{
int *p1, *p2;
p1=new int;
*p1=42;
p2=p1;
cout<<"*p1=="<<*p1<<endl;
cout<<"*p2=="<<*p2<<endl;
*p2=53;
cout<<"*p1=="<<*p1<<endl;
cout<<"*p2=="<<*p2<<endl;
p1=new int;
*p1=88;
cout<<"*p1=="<<*p1<<endl;
cout<<"*p2=="<<*p2<<endl;
EN C++
#include<conio.h>
#include<iostream.h>
main( )
{ int *arrayDinamico,tamano,i;
cout<<"ingresa el tamano del arreglo: ";
cin>>tamano;
arrayDinamico = new int;
for(i=0;i<tamano;i++)
{ cout<<"Valor para la posicion "<<"["<<i<<"]:";
cin>>arrayDinamico[i];
}
for(i=0;i<tamano;i++)
{ cout<<"["<<i<<"]:"<<*(arrayDinamico+i)<<endl;
}
return 0;
}
#include "iostream.h"
int main( )
{ ApuntInt p;
int n,i;
cout<<"cuantos desea ingresar";
cin>>n;
p=new int ;
for(i=0;i<=n;i++)
{ cout<<"["<<i<<"]: ";
cin>>p[i];
}
for(i=0;i<=n;i++)
{ cout<<*(p+i)<<endl;
}
return 0;
}
Con puteros
#include "iostream.h"
typedef int* ApuntInt;
main( )
{ int n,i,j,k,aux;
ApuntInt p;
cout<<"ingrese cantidad de elementos: "<<endl;
cin>>n;
p=new int;
for(i=1;i<=n;i++)
{ cout<<"P["<<i<<"]:";
cin>>p[i];}
//metodo de insertion sort
for(i=2; i<=n;i++)
{ aux=*(p+i);
k=i-1;
while((k>=1)&&(aux<*(p+k)))
{ *(p+k+1)=*(p+k);
k=k-1;
}
*(p+k+1)=aux;
}
for(k=1;k<=n;k++)
cout<<*(p+k)<<endl;
return 0;
}
Array Dinámico
#include "iostream.h"
typedef int* ApuntInt;
int main( )
{
ApuntInt p;
int n,i,k,aux;
cout<<"cuantos desea ingresar: ";
cin>>n;
p=new int ;
for(i=1;i<=n;i++)
{ cout<<"["<<i<<"]: ";
cin>>p[i];
}
for(i=2; i<=n;i++)
{ aux=p[i];
k=i-1;
while((k>=1)&&(aux<p[k]))
{ p[k+1]=p[k];
k=k-1;
}
p[k+1]=aux;
}
for(k=1;k<=n;k++)
cout<<p[k]<<endl;
return 0;
for(i=1;i<=n;i++)
{ cout<<*(p+i)<<endl;
}
return 0;
}
OBJETIVO:
El alumno será capaz de:
Elaborar algoritmos que realicen operaciones con estructuras dinamicas de
datos líneales.
Simular listas de datos y sus operaciones correspondientes.
Simular operaciones con pilas mediante la lógica de la lista LIFO.
Simular una cola a través de la lista FIFO y sus operaciones respectivas.
EJERCICIOS:
#include "iostream.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
struct elemento
{
char apellido[30];
char nombre[20];
float nota;
struct elemento *siguiente;
};
main( )
{
struct elemento *p;
struct elemento *q;
int n;
cout<<"numero de elemento";
cin>>n;
p=NULL;
for(n;n>0;n--)
{
q=new elemento;
q->siguiente = p;
p=q;
cout<<"apellidos: "; gets(q->apellido);
cout<<"nombres: "; gets(q->nombre);
cout<<"nota: "; cin>>q->nota;
}
q=p;
while(q!=NULL)
{
cout<<q->apellido<<" "<<q->nombre<<" "<<q->nota<<endl ;
q=q->siguiente;
}
getch( );
}
#include "iostream.h"
#include "stdlib.h"
struct Nodo
{ int dato;
Nodo *enlace;
};
typedef Nodo* ApuntNodo;
main( )
{ ApuntNodo cabeza;
int el_numero;
ApuntNodo apunt_temp;
apunt_temp=new Nodo;
if(apunt_temp==NULL)
{ cout<<"Error: No hay suficiente memoria";
exit(0);
}
cout<<"ingrese un elemento";
cin>>el_numero;
apunt_temp->dato=el_numero;
apunt_temp->enlace=cabeza;
cabeza=apunt_temp;
cout<<"el elemento ingresado es:"<<cabeza->dato<<endl;
return 0;
}
#include "iostream.h"
#include "stdlib.h"
struct Nodo
{
int dato;
Nodo *enlace;
};
typedef Nodo* ApuntNodo;
void insertar_cabeza(ApuntNodo& cabeza, int el_numero)
{
ApuntNodo apunt_temp;
apunt_temp=new Nodo;
if(apunt_temp==NULL)
{ cout<<"Error";
exit(1);
}
apunt_temp->dato=el_numero;
apunt_temp->enlace=cabeza;
cabeza=apunt_temp;
}
void main( )
{ ApuntNodo cabeza;
int el_numero;
cout<<"ingrese el numero";
cin>>el_numero;
insertar_cabeza(cabeza,el_numero);
imprimir(cabeza);
}
#include "iostream.h"
#include "stdlib.h"
#include "conio.h"
struct Nodo
{ int dato;
Nodo *enlace;
};
typedef Nodo* ApuntNodo;
void main( )
{ ApuntNodo cabeza=NULL;
int el_numero;
char opc;
for(;;)
{ cout<<"Seleccione las opciones:"<<endl;
cout<<"<1> Insertar"<<endl;
cout<<"<2> Imprimir"<<endl;
cout<<"<3> Salir"<<endl;
opc=getche( );
cout<<endl;
switch(opc)
{ case '1': cout<<"ingrese el numero: ";
cin>>el_numero;
insertar_cabeza(cabeza,el_numero);
break;
case '2': imprimir(cabeza);
break;
case '3': exit(1);
}
}
}
#include "iostream.h"
#include "conio.h"
#include "stdlib.h"
#include "stdio.h"
struct Nodo
{
int dato;
Nodo *enlace;
};
if(apunt_temp==NULL)
{
cout<<"Error";
exit(1);
}
apunt_temp->dato=el_numero;
apunt_temp->enlace=cabeza;
cabeza=apunt_temp;
}
void main( )
{ ApuntNodo cabeza=NULL;
int el_numero;
char opcion;
for(;;)
{ cout<<"Seleccione las Opciones"<<endl;
cout<<"(1) Insertar"<<endl<<"(2) Mostrar"<<endl
<<"(3) Eliminar "<<endl<<"(4) Salir"<<endl;
opcion=getche( );
cout<<endl;
switch(opcion)
{ case '1':
#include<iostream.h>
#include<conio.h>
struct nodo
{ char dato;
nodo *sgt;
};
typedef nodo *puntero;
main( )
{ int op,pos,i=0;
char valor;
puntero lista=NULL;
do { clrscr( );
cout<<"===MENU==="<<endl;
cout<<"1: inserte al inicio"<<endl;
cout<<"2: eliminar un elemento"<<endl;
cout<<"3: ver lista"<<endl;
cout<<"4: salir"<<endl;
cout<<"ingrese su opcion..";
cin>>op;
switch(op)
{ case 1:cout<<"ingrese el valor : ";
cin>>valor;
inserta_inicio(lista,valor);
break;
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
{
int dato;
struct nodo *sig;
} NODO;
if(anterior==NULL)
{ // si es el inicio
nuevo->sig=*inicio;
*inicio=nuevo;
}
else
{ anterior->sig=nuevo;
nuevo->sig=actual;
}
}
else cout<<"Memoria insuficiente";
}
{ // si es el primero
temp=*inicio;
*inicio=(*inicio)->sig;
free(temp);
return elemento;
}
else
{ anterior=*inicio;
actual=(*inicio)->sig;
while(actual!=NULL && actual->dato != elemento)
{
anterior=actual;
actual=actual->sig;
}
if(actual!=NULL)
{ temp=actual;
anterior->sig=actual->sig;
free(temp);
return (elemento);
}
else return (-1);
}
}
void main(void)
{ PTRNODO inicio=NULL;
char opcion;
int elemento;
for(;;)
{ cout<<"Seleccione las Opciones"<<endl;
cout<<"(1) Insertar"<<endl<<"(2) Eliminar"<<endl<<"(3)
Mostrar"<<endl<<"(4) Salir"<<endl;
//cout<<"Seleccion: ";
opcion=getche( );
cout<<endl;
switch(opcion)
{
case '1':
cout<<"Ingrese elemento: ";
cin>>elemento;
insertar(&inicio,elemento);
break;
case '2':
if(inicio==NULL) cout<<"No hay elementos<<endl";
else
{
cout<<"Ingrese elemento: ";
cin>>elemento;
elemento=eliminar(&inicio, elemento);
if(elemento==-1) cout<<"No existe el elemento"<<endl;
}
break;
case '3':
if(inicio==NULL) cout<<"No hay elementos"<<endl;
else
{
imprimir(inicio);
}
break;
}
if(opcion=='4') break;
}
}
#include "iostream.h"
#include "conio.h"
main( )
{ int elem;
char opc;
pila *CAB=NULL;
do{ cout<<"1. Insertar"<<endl;
cout<<"2. Borrar"<<endl;
cout<<"3. Salir"<<endl;
cin>>opc;
switch (opc)
{case '1': cout<<"ingrese un numero:"; cin>>elem;
apilar(&CAB, elem);
break;
case '2': desapilar(&CAB);
getch( );
break;
case '3': cout<<"nada";
break;
} }
while(opc!='3');
return 0;
}
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
void insertar(void);
void extraer(void);
void visualizar(void);
struct cola
{ char nombre[20];
struct cola *sig;
}*CAB=NULL,*AUX=NULL,*FIN=NULL;
main( )
{ char opc;
do
{ cout<<"1.- Insertar"<<endl;
cout<<"2.- Extraer"<<endl;
cout<<"3.- Visualizar la cola"<<endl;
cout<<"4.- Salir"<<endl;
opc=getch( );
switch(opc)
{ case '1':
insertar( );
break;
case '2':
extraer( );
break;
case '3':
visualizar( );
}
}
while (opc!='4');
return 0;
}
void insertar(void)
{ AUX=new cola;
printf("Nombre: ");
gets(AUX->nombre);
AUX->sig=NULL;
if (FIN==NULL)
FIN=CAB=AUX;
else
{ FIN->sig=AUX;
FIN=AUX;
}
}
void extraer(void)
{ if (CAB==NULL) return;
AUX=CAB;
CAB=CAB->sig;
free(AUX);
if (CAB==NULL)
{
FIN=AUX=NULL;
}
}
void visualizar(void)
{
if (CAB==NULL) return;
AUX=CAB;
while (AUX!=NULL)
{
cout<<"nombre:"<<AUX->nombre<<endl;
AUX=AUX->sig;
}
getch( );
}
DATOS ACADÉMICOS
Unidad : Tercera Unidad
Temas : Arboles y Grafos
Docentes : Ing. Francisco Cari Incahuanaco
OBJETIVO:
El alumno será capaz de:
Simular operaciones con estructuras dinámicas de datos no lineales.
Emplear la estructura de arbol para resolver problemas de casos reales.
Simular grafos en la solución de problemas de costo-beneficio.
EJERCICIOS:
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
struct nodo
{ int dato;
struct nodo *izq,*der;
};
{ if(r!=NULL)
{ imp_in(r->izq);
cout<<r->dato<<" ";
imp_in(r->der);
}
}
void imp_pre(struct nodo *r)
{ if(r!=NULL)
{ cout<<r->dato<<" ";
imp_pre(r->izq);
imp_pre(r->der);
}
}
void imp_pos(struct nodo *r)
{ if(r!=NULL)
{ imp_pos(r->izq);
imp_pos(r->der);
cout<<r->dato<<" ";
}
}
return localizar(r->izq,x);
else
return localizar(r->der,x);
}
}
}
{ int o;
do
{
//clrscr( );
cout<<"\t\nlos elementos del arbol son:"<<endl;
cout<<"1.-en orden(IRD)"<<endl;
cout<<"2.-en pre_orden(RID)"<<endl;
cout<<"3.-en post_orden(IDR)"<<endl;
cout<<"4.-salir"<<endl;
cout<<"opcion"<<endl;
cin>>o;
getch( );
if(o==1)
{
//clrscr( );
imp_in(r);
getch( );
}
if(o==2)
{
//clrscr( );
imp_pre(r);
getch( );
}
if(o==3)
{ //clrscr( );
imp_pos(r);
getch( );
}
}
while(o>0 && o<4);
}
void main( )
{ struct nodo *r=NULL;
int x;
int op=1,op2=2;
while(op!=0)
{ //clrscr( );
cout<<"\t\n1.-insertar";
cout<<"\t\n2.-eliminar";
cout<<"\t\n3.-imprimir";
cout<<"\t\n4.-buscar";
cout<<"\t\n0.-salir";
cout<<"\t\nopcion"<<endl;
cin>>op;
if(op==1)
{ while(op2==2)
{ //clrscr( );
cout<<"insertar"<<endl;
cout<<"introduce 1 valor"<<endl;
cin>>x;
ins(&r,x);
cout<<"1.-imprimir 2.-nvo. dato 3.-menu"<<endl;
cin>>op2;
getch( );
}
}
if(op2==1)
{ //clrscr( );
cout<<"imprimir"<<endl;
print(r);
cout<<" 2.-nvo. dato 3.-menu"<<endl;
cin>>op2;
getch( );
}
if(op==2)
{
while(op==2)
{ //clrscr( );
cout<<"eliminar"<<endl;
cout<<"introduce 1 valor"<<endl;
cin>>x;
eliminar(&r,x);
cout<<"1.-imprimir 2.-nvo. dato 3.-menu"<<endl;
cin>>op2;
getch( );
}
}
if(op2==2)
{ //clrscr( );
cout<<"eliminar"<<endl;
print(r);
cout<<" 2.-nvo. dato 3.-menu"<<endl;
cin>>op2;
getch( );
}
if(op==3)
{ //clrscr( );
cout<<"impresion"<<endl;
print(r);
getch( );
}
if(op==4)
{
int a;
//clrscr( );
cout<<"dato a buscar"<<endl;
cin>>a;
localizar(r,a);
cout<<"dato encontrado"<<endl;
cout<<r->dato;
getch( );
}
}
}
#include<iostream.h>
#include<conio.h>
#define m 10
int g[m][m];
void menu();
void iniciar(int,int,int);
void escribe(int);
void verticemenos(int);
void verticemas(int);
void aristamenos(int);
void aristamas(int);
void taristas(int);
void saristas(int,int);
void earistas(int,int);
int numvertice(int[m][m]);
int buscavertice(int,int);
void camino(int);
void menu( )
{
clrscr( );
cout<<"1 = inicia grafo"<<endl;
cout<<"2 = agrega vertice"<<endl;
cout<<"3 = agrega arista"<<endl;
cout<<"4 = eliminar vertice"<<endl;
cout<<"5 = elimina arista"<<endl;
cout<<"6 = mostrar camino vertice"<<endl;
cout<<"7 = mostrar grafo"<<endl;
cout<<"8 = total de aristas"<<endl;
cout<<"9 = total de vertices"<<endl;
cout<<"10 = total de aristas de salida para un vertice"<<endl;
cout<<"11 = total de aristas de entrada para un vertice"<<endl;
cout<<"12 = salir"<<endl;
cout<<"Elija opcion :"<<endl;
}
else
{ cout<<"vertice de origen no existe"<<endl;}
}
}
void main()
{ int op;
op=-1;
while(op!=12)
{ menu();
cin>>op;
switch(op)
{ case 1:clrscr();
iniciar(10,10,g);
cout<<"grafo iniciado"<<endl;
getch();
break;
case 2:clrscr();
verticemas(g);
getch();
break;
case 3:clrscr();
aristamas(g);
getch();
break;
case 4:clrscr();
verticemenos(g);
getch();
break;
case 5:clrscr();
aristamenos(g);
getch();
break;
case 6:clrscr();
camino(g);
getch();
break;
case 7:clrscr();
escribe(g);
getch();
break;
case 8:clrscr();
taristas(g);
getch();
break;
case 9:clrscr();
cout<<"El numero de vertices del grafo son :
"<<numvertice(g);
getch();
break;
case 10:clrscr();
int a;
cout<<"Ingrese el vertice :";cin>>a;
saristas(g,a);
getch();
break;
case 11:clrscr();
int b;
cout<<"Ingrese el vertice :";cin>>b;
earistas(g,b);
getch();
break;
case 12:clrscr();
cout<<"termino el programa"<<endl;
getch();
break;
}
}
}