110
[UNIVERSIDAD TÉCNICA DE AMBATO FCHE] 3º Docencia Informática Producto | Elemento 2 1 UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA Nombre: Jimmy Punina Nivel: Tercero “Único” Ambato Ecuador

Ejercicios Arrays

Embed Size (px)

DESCRIPTION

Ejercicios de vectores y matrices en C

Citation preview

  • [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