Post on 28-Mar-2016
description
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 1
UNIVERSIDAD TCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACIN
DOCENCIA EN INFORMTICA
Nombre:
Jimmy Punina
Nivel:
Tercero nico
Ambato Ecuador
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 2
EJERCICIOS DE APLICACIN UTILIZANDO ARRAYS
UNIDIMENSIONALES
1) Disee un programa utilizando funciones que me permita generar N
elementos de cualquier factor ingresado desde teclado, recorra el vector y
encuentre todas las posiciones imapres del vector y guarde los datos en un
nuevo vector, a continuacin de este vector resultante guarde todas las
posiciones pares del vector, visualice el vector resultante.
Anlisis
1. Se utiliza una variable entera para determinar el lmite del vector.
2. Se declara una variable entera tipo vector el cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en el vector.
4. Se utilia un lazo Do-While el cual lo utilizamos para repetir N veces el
programa principal con el siguinete formato: Presione: CONTINUAR (1) /
SALIR (2) => .
Documentacin
#include
#include
int vector1[15],vector2[15],i, lim, fila,factor,res,h,op;
void ingresar(int limite, int fac)
{
fila=10;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 3
void posimpar(int limite2)
{
h=1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 4
void visualizar_resultado(int limite2)
{
fila=4;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 5
Ejecucin
2) Disee un programa con funciones que me permita ingresar N elementos
en un vector entre 3 y 20, ordene el vector en forma ascendente y visualice
los datos resultantes de dicho vector.
Anlisis
1. Se utiliza una variable entera para determinar el lmite del vector.
2. Se declara una variable entera tipo vector el cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en el vector.
4. Se utiliza un lazo Do While para validar los datos que se encuentren
entre los valores 3 y 20.
Documentacin
#include
#include
Librerias principales
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 6
int vector[15], lim, fila,aux,i,j;
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 7
}
}
void visualizar(int limite1)
{
fila=10;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 8
3) Disee un programa que mepermita ingresar N elementos en un vector
entre 7 y 33, recorra el vector y encuentre todos los datos impares del
vector, guardelos en un nuevo vector y presentelos en forma ordenada.
Recorra el mismo vector de origen y encuentre todos los datos pares del
vector, asignelos a un nuevo vector y presente sus datos ordenados en
forma descendente, el proceso se repite N veces.
Anlisis
1. Se utiliza una variable entera para determinar el lmite del vector.
2. Se declara una variable entera tipo vector el cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en el vector.
4. Se utiliza un lazo Do While para validar los datos que se encuentren
entre los valores 7 y 33.
5. Se utilia un lazo Do-While el cual lo utilizamos para repetir N veces el
programa principal con el siguinete formato: Presione: CONTINUAR
(1) / SALIR (2) => .
Documentacin
#include
#include
int vector[15], vector1[15], vector2[15], lim;
int fila,aux,i,j,pa, imp,datos,op;
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 9
{
gotoxy(1,j);printf("*");
gotoxy(80,j);printf("*");
}
}
void ingresar(int limite)
{
fila=7;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 10
}
}
}
void ordenar_ascendente(int limite)
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 11
gotoxy(30,fila);
printf("%d",vector1[i]);
fila=fila+1;
}
}
void visualizar_pares(int limite1)
{
fila=7;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 12
}
Ejecucin
4) Disee un programa utilizando funciones que me permita generar N
elementos en un vector de tal forma que las posiciones impares se llenan
con un factor impar ingresado desde teclado y las posiciones pares se
llenan con un factor par ingresado desde teclado.
Anlisis
1. Se utiliza una variable entera para determinar el lmite del vector.
2. Se declara una variable entera tipo vector el cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en el vector.
Documentacin
#include
#include
int vector[15],fila,i,cp,ci,lim,factor1,factor2;
Declaracin de variables
Librerias principales
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 13
void ingresar(int limite,int fpar, int fimp)
{
cp=1;
ci=1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 14
scanf("%d",&factor2);
ingresar(lim,factor1,factor2);
}while((factor2%2)==0);
visualizar(lim);
getch();
}
Ejecucin
5) Disee un programa utilizando funciones que me permita ingresar N
elementos entre 2 y 22 en un vector que me permita recorrer el vector y
encontrar todos los elementos pares del vector, asignarlos a un nuevo
vector, asi como tambien los datos impares del vector en un mismo vector
resultante, este vector resultante debe estar ordenado en forma intercalada,
se ordenan en forma ascendente los datos pares y en forma descendente los
datos impares.
Anlisis
1. Se utiliza una variable entera para determinar el lmite del vector.
2. Se declara una variable entera tipo vector el cual nos servir para ingresar
los N datos.
Llamado a las funciones
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 15
3. Se crea una funcin para el ingreso de los datos en el vector.
4. Se utiliza un lazo Do While para validar los datos que se encuentren
entre los valores 2 y 22.
5. Se utilia un lazo Do-While el cual lo utilizamos para repetir N veces el
programa principal con el siguinete formato: Presione: CONTINUAR
(1) / SALIR (2) => .
Documentacin
#include
#include
int vector[15],vector1[15],i, lim, fila,factor,res,h,op,ci,cp,aux,j;
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 16
}
}
void dato_par(int limite)
{
cp=0;
h=1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 17
}
}
}
for(i=cp+1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 18
void main()
{
op=1;
do
{
clrscr();
borde();
gotoxy(10,3);printf("DATOS PARES E IMPARES DE UN VECTOR");
gotoxy(15,5);printf("Ingrese el limite ==> ");
scanf("%d",&lim);
ingresar(lim);
dato_par(lim);
dato_impar(lim);
visualizar_vector(lim);
ordenar();
visualizar_resultado(lim);
gotoxy(10,23);printf("Presione: CONTINUAR (1) / SALIR (2) => ");
scanf("%d",&op);
getch();
}while(op==1);
}
Ejecucin
Inicio del do para repetir N veces el programa
Inicio de la funcin principal
Cierre del do While
Llamado a las funciones
Ingreso del lmite
Llamado a las funciones
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 19
6) Disee un programa utilizando funciones y un menu de opciones que me
permita obtener las cuatro operaciones bsicas entre dos vectores con
datos comprendidos entre 6 y 23.
Anlisis
1. Se utiliza una variable entera para determinar el lmite del vector.
2. Se declara una variable entera tipo vector el cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en el vector.
4. Se utiliza un lazo Do While para validar los datos que se encuentren
entre los valores 6 y 23.
5. Se utilia un lazo Do-While el cual lo utilizamos para repetir N la opcin
elegida por el usuario con el siguinete formato: Presione:
CONTINUAR (1) / SALIR (2) => .
6. Se utiliza un lazo Do While dentro del la funcin principal para ingresar
a cada una de las opciones del menu.
Documentacin
#include
#include
int i,op,vector1[15],vector2[15], vector3[15];
int lim,fila,columna,op2;
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 20
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void menu()
{
gotoxy(20,2);printf("MENU DE OPCIONES");
gotoxy(10,4);printf("1.- Suma");
gotoxy(10,6);printf("2.- Resta");
gotoxy(10,8);printf("3.- Multiplicacion");
gotoxy(10,10);printf("4.- Division");
gotoxy(10,12);printf("5.- Salir");
gotoxy(10,14);printf("Ingrese el numero de la opcion deseada ==> ");
}
void ingreso_uno(int limite)
{
fila=4;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 21
{
fila=4;
for(i=1; ivector1[i]);
fila=fila+1;
}
}
void visualizar(int limite)
{
fila=4;
for (i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 22
vector3[i]=vector1[i]+vector2[i];
}
visualizar(lim);
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
void resta()
{
op=1;
do
{
clrscr();
borde();
gotoxy(30,2);printf("RESTA");
gotoxy(4,3);printf("Ingrese el limite de los vectores ==> ");
gotoxy(42,3);scanf("%d",&lim);
gotoxy(4,5);printf("Vector 1 ");
ingreso_uno(lim);
gotoxy(12,5);printf(" - Vector 2");
ingreso_tres('-',lim);
for (i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 23
gotoxy(12,5);printf(" * Vector 2");
ingreso_dos('*',lim);
for (i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 24
menu();
gotoxy(53,14);scanf("%d",&op);
if (op==1)
{
suma();
}
if (op==2)
{
resta();
}
if (op==3)
{
multiplicacion();
}
if (op==4)
{
division();
}
getch();
}while(op != 5);
}
Ejecucin
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 25
Resultados
Opcin N1
Opcin N2
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 26
Opcin N3
Opcin N4
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 27
7) Disee un programa que me permita generar el siguiente menu de
opciones.
1. Tablas de Multiplicar
2. Serie de Fibonacci
3. Factorial
4. Salir
Anlisis
1. Se utiliza una variable entera para determinar el lmite del vector.
2. Se declara una variable entera tipo vector el cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en el vector.
4. Se crea una funcin para generar la serie de fibonacci y el factorial.
Documentacin
#include
#include
int i,op,vector1[15],limite,fila,con,factor,aux,j,op2;
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 28
void menu()
{
gotoxy(20,2);printf("MENU DE OPCIONES");
gotoxy(10,4);printf("1.- Tablas de Multiplicar");
gotoxy(10,6);printf("2.- Serie del Fibonacci");
gotoxy(10,8);printf("3.- Factorial");
gotoxy(10,10);printf("4.- Salir");
gotoxy(10,12);printf("Ingrese el numero de la opcion deseada ==> ");
}
void tabla_multiplicar()
{
op2=1;
do
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese el factor ==> ");
scanf("%d",&factor);
gotoxy(3,4);printf("Ingrese el limite ==> ");
scanf("%d",&limite);
fila=6;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 29
borde();
gotoxy(3,3);printf("Ingrese el limite ==> ");
scanf("%d",&limite);
fila=6;
con=1;
for(i=1; i2)
{
con=con+vector1[i-2];
vector1[i]=con;
}else
{
vector1[i]=con;
}
gotoxy(7,fila);printf("%d",vector1[i]);
fila=fila+1;
}
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
void factorial()
{
op2=1;
do
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese el limite ==> ");
scanf("%d",&limite);
fila=6;
con=1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 30
}
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
void main()
{
op=0;
do
{
clrscr();
borde();
menu();
gotoxy(53,12);scanf("%d",&op);
if (op==1)
{
tabla_multiplicar();
}
if (op==2)
{
serie_fibonacci();
}
if (op==3)
{
factorial();
}
getch();
}while(op !=4 );
}
Ejecucin
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 31
Resultados
Opcin N1
Opcin N2
Opcin N3
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 32
8) Disee un programa utilizando vectores y funciones que me permita
disear un men de opciones:
1. Ordenar ascendente y descendente
2. Datos pares e impares del vector
3. Datos de las posiciones pares e impares del vector
4. Salir
Los datos deben estar validados entre 3 y 23.
Anlisis
1. Se utiliza una variable entera para determinar el nmero de datos que
tendr el vector, y una variable entera tipo vector para ingresar los N
datos.
2. Se crea una funcin para el ingreso de los datos en el vector.
3. Se utiliza un lazo For dentro de la funcin para el ingreso de los N datos.
4. Se valida los datos utilizando un lazo Do-While este se ubica dentro del
lazo For en el cul ingresamos los N datos.
5. Se declara dos nuevas variables enteras tipo vector para realizar las
operaciones de ordenamiento, traspaso de los datos, de las posiciones
pares e impares del vector ingresado originalmente.
6. Se utiliza dos nuevos lazos Do-While los cuales los utilizamos, uno para
repetir N veces las opciones a las cuales ingresamos, con el siguinete
formato: Presione: (1) Continuar y (2) Salir y el otroes para repetir
N veces el Men principal con las opciones, este se presenta con el
siguiente formato: Ingrese es numero de la opcion deseada =>.
Documentacin
#include
#include
int i,op,op2,vector[15],vector1[15],vector2[15];
int lim,j,fila,res,imp,datos,pa,aux;
Librerias principales
Declaracion de variables
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 33
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 34
if(vector[i] < vector[j])
{
aux=vector[i];
vector[i]=vector[j];
vector[j]=aux;
}
}
}
}
void ordenar_descendente(int limite)
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 35
datos=vector[i]%2;
if (datos==0)
{
vector2[pa]=vector[i];
pa=pa+1;
}
}
}
void posimpar(int limite2)
{
imp=1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 36
}
}
void visualizar_pares(int columna)
{
fila=5;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 37
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
void opcion_dos()
{
do
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese el limite ==> ");
scanf("%d",&lim);
ingresar(lim);
datos_pares(lim);
visualizar_pares(20);
datos_impares(lim);
visualizar_impares(30);
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
void opcion_tres()
{
do
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese el limite ==> ");
scanf("%d",&lim);
ingresar(lim);
pospar(lim);
visualizar_pares(20);
posimpar(lim);
visualizar_impares(30);
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
void main()
{
op=0;
do
Cierre de do no While
Inicio de la funcin
Ingreso de nmero de datos
Llamado a las funciones
Inicio del do para repetir N veces la opcion
Cierre de do no While
Ingreso para continuar o salir
Inicio de la funcin
Ingreso de nmero de datos
Llamado a las funciones
Inicio del do para repetir N veces la opcion
Cierre de do no While
Ingreso para continuar o salir
Inicio de la funcin principal
Inicio del do para repetir N veces el programa
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 38
{
clrscr();
borde();
menu();
gotoxy(53,12);scanf("%d",&op);
if (op==1)
{
opcion_uno();
}
if (op==2)
{
opcion_dos();
}
if (op==3)
{
opcion_tres();
}
getch();
}while(op !=4 );
}
Ejecucin
Cierre de do no While
Llamado a las funciones
Ingreso de la opcin o salir
Llamado a las opciones segn el nmero
ingresado
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 39
Resultados
Opcin N1
Opcin N2
Opcin N3
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 40
EJERCICIOS DE APLICACIN UTILIZANDO ARRAYS
BIDIMENSIONALES
9) Disee un programa utilizando funciones que me permita ingresar N
elementos en una matriz cuadrtica entre 4 y 23, visualice los datos
ingresados en forma de matriz.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en la matriz los cuales
estarn validados entre 4 y 23.
4. Se valida los datos utilizando un lazo Do-While, este se ubica dentro de los
dos lazos For en el cul ingresamos los N datos.
Documentacin
#include
#include
int matriz[15][15],i,j,col,fila,lim,op;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 41
}
void ingresar_matriz(int limite)
{
col=5;
fila=5;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 42
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese la dimension de la matriz cuadratica => ");
scanf("%d",&lim);
ingresar_matriz(lim);
visualizar_matriz(lim);
gotoxy(2,23);printf("PRESIONE: (1)Continuar / (2)Salir => ");
scanf("%d",&op);
}while(op==1);
//getch();
}
Ejecucin
10) Disee un programa utilizando funciones que me permita generar una
matriz con un factor cualquiera ingresado por teclado.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para generar los
N datos.
3. Se crea una funcin para generar los factores de un nmero.
4. Se utiliza un lazo Do-While los cuales los utilizamos, uno para repetir N
veces las opciones a las cuales ingresamos, con el siguinete formato:
Presione: (1) Continuar / (2) Salir.
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 43
Documentacin
#include
#include
int matriz[15][15],i,j,col,fila,lim,op,fac,con;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 44
gotoxy(col,fila);
printf("%d",matriz[i][j]);
col=col+5;
}
fila=fila+1;
col=30;
}
}
void main()
{
do
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese la dimension de la matriz cuadratica => ");
scanf("%d",&lim);
gotoxy(3,4);printf("Ingrese el factor => ");
scanf("%d",&fac);
ingresar_matriz(lim,fac);
visualizar_matriz(lim);
gotoxy(2,23);printf("PRESIONE: (1)Continuar / (2)Salir => ");
scanf("%d",&op);
}while(op==1);
//getch();
}
Ejecucin
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 45
11) Disee un programa utilizando funciones y matrices que me permita
ingresar N elementos en una matriz entre 4 y 22, recorrer la matriz y
encontrar sus diagonales principal y secundaria e imprimirlas en pantalla.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en la matriz los cuales
estarn validados entre 4 y 22.
4. Se valida los datos utilizando un lazo Do-While, este se ubica dentro de los
dos lazos For en el cul ingresamos los N datos.
5. Se utiliza un nuevo lazo Do-While el cuales los utilizamos, uno para repetir
N veces el programa principal, con el siguinete formato: Presione: (1)
Continuar / (0) Salir.
Documentacin
#include
#include
int matriz[20][20],i,j,col,fil,fil2,lim,op;
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 46
{
for(j=1; j
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 47
}
void main()
{
do
{
clrscr();
borde();
gotoxy(2,2);printf("Ingrese el limite de la matriz cuadratica => ");
scanf("%d",&lim);
ingreso(lim);
diagonales(lim);
gotoxy(2,23);printf("PRESIONE: (1)Continuar / (0)Salir => ");
scanf("%d",&op);
}while(op==1);
//getch();
}
Ejecucin
12) Disee un programa utilizando funciones y matrices que me permita
generar una matriz con un factor ingresado desde teclado menos las dos
diagonales que deben llenarse con ceros visualice sus diagonales
principales.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para generar los factore de un nmero.
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 48
4. Se utiliza un nuevo lazo Do-While el cual le utilizamos, repetir N veces el
programa principal, con el siguinete formato: Presione: (1) Continuar / (0)
Salir.
Documentacin
#include
#include
int matriz[20][20],i,j,col,fil,fil2,fac,lim,op,con;
void borde()
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 49
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 50
for(j=1; j
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 51
Ejecucin
13) Disee un programa utilizando matrices y funciones que me permita llenar
una matriz con ceros a excepcin de sus diagonales, donde la diagonal
principal se llena con valores pares y la diagonal secundaria con valores
impares, visualice sus diagonales.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para llenar las diagonales principales.
4. Se utiliza un lazo Do-While el cual lo utilizamos, repetir N veces el
programa princiapl, con el siguinete formato: Presione: (1) Continuar / (0)
Salir.
Documentacin
#include
#include
int matriz[20][20],vectorp[20],vectors[20],h,op,fil2,fil,col,col2,i,j,lim,pares,impar,dm;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 52
gotoxy(i,1);printf("#");
gotoxy(i,24);printf("#");
}
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 53
}
else
{
matriz[i][j]=0;
gotoxy(col,fil);printf("%d",matriz[i][j]);
}
col=col+5;
}
fil=fil+1;
col2=col;
col=4;
}
j=limite;
impar=1;
col2=col2-5;
fil=5;
h=1;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 54
void visualizar_diagonales()
{
col=4;
fil=fil+3;
gotoxy(col,fil-2);printf("Diagonales:");
fil2=fil;
dm=(h-1)/2;
dm=dm+1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 55
borde();
gotoxy(3,3);printf("Ingrese el limite de la matriz cuadratica => ");
scanf("%d",&lim);
ingresar(lim);
visualizar_diagonales();
gotoxy(10,22);printf("PRESIONE: (1) Continuar / (0) Salir => ");
scanf("%d",&op);
}while(op==1);
//getch();
}
Ejecucin
14) Disee un programa utilizando matrices y funciones que me permita
ingresar una matriz cuadrtica de N elementos entre 7 y 23, recorrer la
matriz y encontrar los datos que se encuentran tanto en la diagonal
principal como en la secundaria, asignarlos a un vector y presentarlo en
forma ordenada ascendente y descendente.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en la matriz los cuales
estarn validados entre 7 y 23.
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 56
4. Se valida los datos utilizando un lazo Do-While, este se ubica dentro de los
dos lazos For en el cul ingresamos los N datos.
5. Se utiliza un lazo Do-While al cual los utilizamos, para repetir N el
programa principal, con el siguinete formato: Presione: (1) Continuar / (0)
Salir.
Documentacin
#include
#include
int matriz[20][20],op,fil,fil2,fila,col,i,j,limite,lim,vector[20],h,aux;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 57
}
void encontrar_diagonales(int limite)
{
h=1;
col=3;
fil=fil+3;
fil2=fil;
gotoxy(col,fil-2);printf("Diagonales:");
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 58
if(vector[i]< vector[j])
{
aux=vector[i];
vector[i]=vector[j];
vector[j]=aux;
}
}
}
}
void ordenar_descendente()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 59
ingresar(lim);
encontrar_diagonales(lim);
ordenar_ascendente();
gotoxy(26,5);printf("ASCENDENTE");
visualizar(30);
ordenar_descendente();
gotoxy(39,5);printf("DESCENDENTE");
visualizar(43);
gotoxy(10,22);printf("PRESIONE: (1) Continuar / (0) Salir => ");
scanf("%d",&op);
}while(op==1);
//getch();
}
Ejecucin
15) Utilizando matrices y funciones disee un programa que me permita
ingresar N elementos en una matriz entre 4 y 16, recorrer la matriz y
encontrar todos aquellos que sean multiplos de 3, 6 y 9 guardelos en un
nuevo vector y presentarlos en forma ordenada.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 60
3. Se crea una funcin para el ingreso de los datos en la matriz los cuales
estarn validados entre 4 y 16.
4. Se valida los datos utilizando un lazo Do-While, este se ubica dentro de los
dos lazos For en el cul ingresamos los N datos.
Documentacin
#include
#include
int matriz[20][20],op,r1,r2,r3,fil,fil2,fila,col,i,j,limite,lim,vector[20],h,aux;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 61
void encontrar_multiplos(int limite)
{
h=1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 62
void main()
{
do
{
clrscr();
borde();
gotoxy(2,3);printf("Ingrese el limite de la matriz cuadratica =>
");scanf("%d",&lim);
ingresar(lim);
encontrar_multiplos(lim);
gotoxy(26,5);printf("MULTIPLOS");
visualizar(30);
ordenar_ascendente();
gotoxy(43,5);printf("ASCENDENTE");
visualizar(50);
gotoxy(10,22);printf("PRESIONE: (1) Continuar / (0) Salir => ");
scanf("%d",&op);
}while(op==1);
//getch();
}
Ejecucion
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 63
16) Disee un programa utilizando matrices y funciones que me permita
disear un menu de opciones que me permita realizar las 4 operaciones
basicas entre matrices.
1. Suma
2. Resta
3. Multiplicacin
4. Divisin
5. Salir
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para generar los nmeros primos y asignarlos a la
matriz la cual ser visualizada posteriormente.
4. Se crea una funcin para el ingreso de los datos en la matriz.
5. Se valida los datos para la resta y la division los cuales deben ser menores
que la matriz 1.
6. Se utiliza dos nuevos lazos Do-While los cuales los utilizamos, uno para
repetir N veces las opciones a las cuales ingresamos, con el siguinete
formato: Presione: (1) Continuar / (0) Salir y el otro es para repetir N
veces el Men principal con las opciones, este se presenta con el siguiente
formato: Ingrese la opcion deseada ==>.
Documentacin
#include
#include
int
matriz[20][20],matriz2[20][20],resultado[20][20],col2,op,fil,fil2,col,i,j,lim,limite,op2;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 64
gotoxy(i,1);printf("#");
gotoxy(i,24);printf("#");
}
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 65
{
for(j=1;j
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 66
void resta(int limite)
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 67
{
gotoxy(col,fil);printf("%d",resultado[i][j]);
col=col+5;
}
fil=fil+1;
col=col2;
}
}
void opcion1()
{
clrscr();
borde();
gotoxy(20,2);printf("** SUMA DE MATRICES **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
gotoxy(3,6);printf("MATRIZ 1:");
ingresar1(lim);
gotoxy((lim*5)+10,6);printf("MATRIZ 2:");
ingresar2(lim);
suma(lim);
visualizar(lim);
gotoxy(col2+(limite*5),6);printf("RESULTADO");
//getch();
}
void opcion2()
{
clrscr();
borde();
gotoxy(20,2);printf("** RESTA DE MATRICES **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
gotoxy(3,6);printf("MATRIZ 1:");
ingresar1(lim);
gotoxy((lim*5)+10,6);printf("MATRIZ 2:");
ingresar3(lim);
resta(lim);
visualizar(lim);
gotoxy(col2+(limite*5),6);printf("RESULTADO");
//getch();
}
void opcion3()
{
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 68
clrscr();
borde();
gotoxy(20,2);printf("** MULTIPLICACION DE MATRICES **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
gotoxy(3,6);printf("MATRIZ 1:");
ingresar1(lim);
gotoxy((lim*5)+10,6);printf("MATRIZ 2:");
ingresar2(lim);
multiplicacion(lim);
visualizar(lim);
gotoxy(col2+(limite*5),6);printf("RESULTADO");
//getch();
}
void opcion4()
{
clrscr();
borde();
gotoxy(20,2);printf("** DIVISION DE MATRICES **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
gotoxy(3,6);printf("MATRIZ 1:");
ingresar1(lim);
gotoxy((lim*5)+10,6);printf("MATRIZ 2:");
ingresar3(lim);
division(lim);
visualizar(lim);
gotoxy(col2+(limite*5),6);printf("RESULTADO");
//getch();
}
void main()
{
do
{
clrscr();
borde();
menu();
gotoxy(36,9);scanf("%d",&op);
if (op==1)
{
do
{
opcion1();
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 69
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
if (op==2)
{
do
{
opcion2();
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
if (op==3)
{
do
{
opcion3();
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
if (op==4)
{
do
{
opcion4();
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
}while(op!=5);
//getch();
}
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 70
Ejecucin
Resultados
Opcin N 1
Opcin N2
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 71
Opcin N3
Opcin N4
17) Disee un programa que me permita generar el siguiente men de
opciones:
1. Diagonales con factores diferentes
2. Diagonales valores pares e impares
3. Serie fibonacci
4. Factorial
5. Salir
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 72
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para generar la serie de fibonacci y otra funcin para
generar el factorial.
4. Se utiliza dos nuevos lazos Do-While los cuales los utilizamos, uno para
repetir N veces las opciones a las cuales ingresamos, con el siguinete
formato: Presione: (1) Continuar / (0) Salir y el otro es para repetir N
veces el Men principal con las opciones, este se presenta con el siguiente
formato: Ingrese la opcion deseada ==>.
Documentacin
#include
#include
int
matriz[20][20],k,vectorp[20],vectors[20],con,f,c,dm,h,col2,op,fil,fil2,col,i,j,lim,limite,
op2,fact1,fact2,par,imp;
//long int factori[20][20];
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 73
gotoxy(4,7);printf("5.- Salir");
gotoxy(4,9);printf("Ingrese la opcion deseada ==> ");
}
void generar_factor(int limite, int fp, int fi)
{
col=4;
fil=8;
c=1;
dm=limite/2;
dm=dm+1;
h=1;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 74
}
col=col+5;
}
fil=fil+1;
col2=col;
col=4;
}
j=limite;
c=1;
col2=col2-5;
fil=8;
h=1;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 75
par=2;
dm=limite/2;
dm=dm+1;
h=1;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 76
imp=1;
col2=col2-5;
fil=6;
h=1;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 77
col=col+1;
if (col>limite)
{
col=1;
fil=fil+1;
}
}
}
void factorial(int limite)
{
col=1;
fil=1;
c=1;
con=1;
f=0;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 78
printf("%d",matriz[i][j]);
col=col+10;
}
fil=fil+1;
col=5;
}
}
void visualizar_diagonales()
{
col=4;
fil=fil+3;
gotoxy(col,fil-2);printf("Diagonales:");
fil2=fil;
dm=(h-1)/2;
dm=dm+1;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 79
void opcion1()
{
clrscr();
borde();
gotoxy(20,2);printf("** Diagonales con factores diferentes **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
gotoxy(2,5);printf("Ingrese el factor uno => ");scanf("%d",&fact1);
gotoxy(2,6);printf("Ingrese el factor dos => ");scanf("%d",&fact2);
generar_factor(lim,fact1,fact2);
visualizar_diagonales();
//getch();
}
void opcion2()
{
clrscr();
borde();
gotoxy(20,2);printf("** Diagonales valores pares e impares **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
generar_par_impar(lim);
visualizar_diagonales();
//getch();
}
void opcion3()
{
clrscr();
borde();
gotoxy(20,2);printf("** Serie Fibonacci **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
serie_fibonacci(lim);
visualizar(lim);
//getch();
}
void opcion4()
{
clrscr();
borde();
gotoxy(20,2);printf("** Factorial **");
gotoxy(2,4);printf("Ingrese el limite de las matrices => ");scanf("%d",&lim);
factorial(lim);
visualizar(lim);
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 80
//getch();
}
void main()
{
do
{
clrscr();
borde();
menu();
gotoxy(36,9);scanf("%d",&op);
if (op==1)
{
do
{
opcion1();
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
if (op==2)
{
do
{
opcion2();
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
if (op==3)
{
do
{
opcion3();
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
if (op==4)
{
do
{
opcion4();
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 81
gotoxy(2,23);printf("PRESIONE: (1) Continuar / (0) Salir=> ");
scanf("%d",&op2);
}while(op2==1);
}
}while(op!=5);
//getch();
}
Ejecucin
Resultados
Opcin N 1
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 82
Opcin N2
Opcin N3
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 83
Opcin N4
18) Disee un programa utilizando funciones y matrices que me permita
ingresar N elementos dentro de la matriz, entre 3 y 23, recorrer los datos de
la matriz y encuentre todos aquellos datos que sean pares y asignelos a un
vector, recorra la matriz y encuentre los datos impares de la matriz
asignelas al mismo vector al final de los datos pares, presente los datos
ordenados de forma ascendente y descendente.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para el ingreso de los datos en la matriz los cuales
estarn validados entre 3 y 23.
4. Se valida los datos utilizando un lazo Do-While, este se ubica dentro de los
dos lazos For en el cul ingresamos los N datos.
5. Se utiliza un lazo Do-While al cual lo utilizamos, para repetir N el programa
principal, con el siguinete formato: Presione: (1) Continuar / (0) Salir.
Documentacin
#include
#include
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 84
int matriz[20][20],vector[20],i,j,h,col,fil,lim,aux,op;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 85
{
vector[h]=matriz[i][j];
//printf("%d",vector[h]);
h=h+1;
}
}
}
}
void encontrar_impares(int limite)
{
h=1;
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 86
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 87
ordenar_vector_descendente();
visualizar_vector(40);
gotoxy(2,23);printf("PRESIONE (1)Continuar / (0)Salir => ");
scanf("%d",&op);
}while(op==1);
getch();
}
Ejecucin
19) Presente el diseo de los siguientes programas en un Men que funcione
utilizando funciones.
1. Disee un programa que permita generar una matriz cuadrtica con nmeros
primos
2. Disee un programa que permita ingresar n elementos en una matriz entre 3 y
36 presentar la matriz resultante ordenada en forma ascendente.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que
contendr la matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar
los N datos.
3. Se crea una funcin para generar los nmeros primos y asignarlos a la
matriz la cual ser visualizada posteriormente.
4. Se crea una funcin para el ingreso de los datos en la matriz los cuales
estarn validados entre 3 y 36.
5. Se valida los datos utilizando un lazo Do-While, este se ubica dentro de los
dos lazos For en el cul ingresamos los N datos.
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 88
6. Se utiliza dos nuevos lazos Do-While los cuales los utilizamos, uno para
repetir N veces las opciones a las cuales ingresamos, con el siguinete
formato: Presione: (1) Continuar / (0) Salir y el otro es para repetir N
veces el Men principal con las opciones, este se presenta con el siguiente
formato: Ingrese la opcion deseada ==>.
Documentacin
#include
#include
int matriz[20][20],i,j,k,l,pri,op,lim,c,col,fil,op2,aux;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 89
col=5;
}
}
void numeros_primos(int limite)
{
c=0;
i=1;
pri=2;
col=2;
fil=1;
matriz[1][1]=1;
do
{
for(k=1; klimite)
{
fil=fil+1;
col=1;
}
i=i+1;
}
c=0;
pri=pri+1;
}while(i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 90
void ordenar(int limite)
{
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 91
void menu()
{
gotoxy(15,2);printf("SERIES CON MATRICES");
gotoxy(4,3);printf("1.- Matriz con Numero Primos ");
gotoxy(4,4);printf("2.- Ordenar Matriz");
gotoxy(4,5);printf("3.- Salir");
gotoxy(4,6);printf("Ingrese la opcion deseada ==> ");
}
void main()
{
do
{
clrscr();
borde();
menu();
gotoxy(36,6);scanf("%d",&op);
if (op==1)
{
do
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese el limite de la matriz => ");
scanf("%d",&lim);
numeros_primos(lim);
visualizar(lim);
gotoxy(4,23);printf("PRESIONE:(1)Continuar/ (0)Salir => ");
scanf("%d",&op2);
}while(op2==1);
}
if (op==2)
{
do
{
clrscr();
borde();
gotoxy(3,3);printf("Ingrese el limite de la matriz => ");
scanf("%d",&lim);
ingresar(lim);
ordenar(lim);
visualizar(lim);
gotoxy(4,23);printf("PRESIONE:(1)Continuar/ (0)Salir => ");
Inicio de la funcin Menu
Proceso para visualizar
el Menu de opciones
Inicio de la funcin principal
Inicio del do para repetir N veces el programa
Llamado a las funciones
Ingreso de la opcin o salir
Llamado a las funciones
Llamado a las funciones
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 92
scanf("%d",&op2);
}while(op2==1);
}
}while(op!=3);
getch();
}
Ejecucin
Resultados
Opcin N1
Cierre del do While
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 93
Opcin N2
20) Realizar un programa con funciones y matrices que me permita realizar el
producto algebraico de matrices.
Anlisis
1. Se utiliza una variable entera para determinar el lmite de datos que contendr la
matriz cuadrtica.
2. Se declara una variable entera tipo matriz la cual nos servir para ingresar los N
datos.
3. Se crea una funcin para el ingreso de los datos en la matriz.
4. Se utilia un lazo Do-While el lo utilizamos para repetir N veces el producto
matricial con el siguinete formato: Presione: (1) Continuar / (0) Salir.
Documentacin
#include
#include
Int matriz1[20][20],matriz2[20][20];
Int resultado[20][20],c,op,col,col2,fil,i,j,lim,sw,r,res,k;
Librerias principales
Declaracin de variables
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 94
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 95
c=0;
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 96
col=col2;
fil=fil+1;
}
}
void visualizar_barras(int limite, int col, int fil)
{
col2=(5*(limite-1))+limite+col+1;
gotoxy(col,fil-1);printf("%s","");
gotoxy(col2,fil-1);printf("%s","");
for(i=1; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 97
gotoxy(2,23);printf("PRESIONE (1)Continuar / (0)Salir => ");
scanf("%d",&op);
}while(op==1);
}
Ejecucin
Resultados
Cierre del do While
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 98
EJERCICIOS DE APLICACIN UTILIZANDO CADENAS DE
CARACTERES
21) Disee un programa utilizando funciones que me permita ingresar una
cadena de caracteres, recorrer dicha cadena y encontrar todos aquellos
caracteres que sean iguales a las vocales mayusculas o minusculas ,
guardarlas en un nuevo vector, visualice el vector resultante, el proceso se
repite N veces.
Anlisis
1. Se utiliza una variable char tipo vector para ingresar la cadena de caractres.
2. Se crea una funcin para el ingreso de la cadena en el vector.
3. Se declara una nueva variable char tipo vector para realizar el traspaso de las
vocales.
4. Se utiliza un lazo Do-While el cual lo utilizamos, para repetir N veces el
programa principal, con el siguinete formato: Presione: (1) Continuar y (2)
Salir.
Documentacin
#include
#include
#include
char vector1[40],vector2[40];
int limite,fila,i,op=1,h;
void borde()
{
for(i=1;i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 99
void ingresar()
{
gotoxy(2,2);printf("Ingrese la cadena de caracteres ==> ");
gets(vector1);
limite=strlen(vector1);
}
void encontrar()
{
h=0;
for(i=0; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 100
for(i=0; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 101
22) Disee un programa utilizando funciones que me permita ingresar una
cadena de caracteres, recorrer dicha cadena y encontrar todos aquellos
caracteres que sean constantes y guardelos en un nuevo vector en el mismo
vector resultante despues de las consonantes guardar todas las vocales,
visualice el vector resultante.
Anlisis
1. Se utiliza una variable char tipo vector para ingresar la cadena de caractres.
2. Se crea una funcin para el ingreso de la cadena en el vector.
3. Se declara una nueva variable char tipo vector para realizar el traspaso de las
vocales y las consonantes.
Documentacin
#include
#include
#include
char vector1[40],vector2[40];
int i,con,fila,lim,h;
void ingresar()
{
gotoxy(2,2);printf("Ingrese la cadena de Caracteres ==> ");
gets(vector1);
lim=strlen(vector1);
}
void encontrar()
{
h=0;
con=0;
for(i=0; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 102
if(vector1[i]==' ')
{
h=h-1;
}
}
for(i=0; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 103
Ejecucin
23) Disee un programa utilizando vectores y funciones que me permita
disear el siguiente menu de opciones
1. Cadena Inversa
2. Vocales y Consonantes
3. Numero de Vocales y Consonantes, impresiones invertidas.
Anlisis
4. Se utiliza una variable char tipo vector para ingresar la cadena de caractres.
5. Se crea una funcin para el ingreso de la cadena en el vector.
6. Se declara una nueva variable char tipo vector para realizar las operaciones de
cadena inversa, la busqueda de las vocales y consonantesdel vector ingresado
originalmente.
7. Se utiliza dos nuevos lazos Do-While los cuales los utilizamos, uno para repetir
N veces las opciones a las cuales ingresamos, con el siguinete formato:
Presione: (1) Continuar y (2) Salir y el otroes para repetir N veces el Men
principal con las opciones, este se presenta con el siguiente formato: Ingrese
es numero de la opcion deseada =>.
Documentacin
#include
#include
#include
int i,op,limite,fila,con,factor,aux,j,op2,h,ca,ce,ci,co,cu;
Librerias principales
Declaracion de variables
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 104
char vector1[20],vector2[20];
void borde()
{
for(i=1; i=0; i--)
{
vector2[con]=vector1[i];
con=con+1;
}
Inicio de la funcin Borde
Proceso para visualizar
el borde
Inicio de la funcin Menu
Proceso para visualizar
el Menu de opciones
Inicio de la funcin Ingresar
Inicio de la funcin
Llamado a las funciones
For para recorrer el vector
Proceso para invertir la cedena
Proceso para ingresar la
caena de caracteres
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 105
}
void encontrar()
{
clrscr();
borde();
ingresar();
h=0;
con=0;
for(i=0; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 106
borde();
ingresar();
con=0;
ca=0;
ce=0;
ci=0;
co=0;
cu=0;
for(i=0; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 107
gotoxy(20,5);printf("Consonantes=> ");printf("%d",con);
gotoxy(10,5);printf("A=> ");printf("%d",ca);
gotoxy(10,6);printf("E=> ");printf("%d",ce);
gotoxy(10,7);printf("I=> ");printf("%d",ci);
gotoxy(10,8);printf("O=> ");printf("%d",co);
gotoxy(10,9);printf("U=> ");printf("%d",cu);
gotoxy(5,10);printf("______________");
gotoxy(6,12);printf("Total=> ");printf("%d",ca+ce+ci+co+cu);
}
void visualizar_inversa(int lim)
{
fila=6;
for(i=0; i
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 108
void main()
{
op=0;
do
{
clrscr();
borde();
menu();
gotoxy(53,12);scanf("%d",&op);
if (op==1)
{
do
{
cadena_inversa();
gotoxy(13,5);printf("Cadena Invertida");
visualizar_inversa(limite);
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
if (op==2)
{
do
{
encontrar();
gotoxy(13,5);printf("Cadena Resultante");
visualizar_consonantes(limite);
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
while(op2==1);
}
if (op==3)
{
do
{
contar_voc_con();
gotoxy(4,23);printf("PRESIONE: (1) Continuar y (2) Salir ==> ");
gotoxy(44,23);scanf("%d",&op2);
}while(op2==1);
}
getch();
}while(op !=4 );
Inicio de la funcin principal
Cierre de Do-While
Inicio del do para repetir N veces el programa
Llamado a las funciones
Ingreso de la opcin o salir
Llamado a las funciones
Llamado a las funciones
Ingreso para
continuar o salir
Ingreso para
continuar o salir
Ingreso para
continuar o salir
Llamado a la funciones
Cierre de do no While
Inicio del do para repetir N veces la opcion
Inicio del do para repetir N veces la opcion
Cierre de do no While
Inicio del do para repetir N veces la opcion
Cierre de do no While
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 109
}
Ejecucin
Resultados
Opcin N 1
Opcin N2
[UNIVERSIDAD TCNICA DE AMBATO FCHE] 3 Docencia Informtica
Producto | Elemento 2 110
Opcin N3