SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012


            UNIVERSIDAD TÉCNICA

                    DE AMBATO




     FACULTAD DE CIENCIAS HUMANAS
                Y DE EDUCACIÓN


   CARRERA: DOCENCIA EN INFORMÁTICA
               PROGRAMACION II

ALUMNA:
               PAULINA GUATAPI
SEMESTRE:
                      TERCERO


             AMBATO - ECUADOR
                   2012



                             1
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

                                          FUNCIONES

    Son un grupo de sentencias bajo el mismo nombre que realizan una tarea específica.

    Sirven para facilitar la resolución de problemas mediante la aplicación del paradigma
    “Dividir y Conquistar”.




    Variables

Las variables se pueden clasificar de acuerdo a su tipo de dato. Por ejemplo, una variable puede
ser de tipo entero (int) o de tipo carácter (char). Sin embargo, las variables también pueden
clasificarse de acuerdo a su ámbito, es decir, la parte del programa en la que la variable es
reconocida. De acuerdo con su ámbito, las variables pueden ser locales o globales.
Al igual que sucede con las variables declaradas dentro de la función main, cualquier variable
que declaremos dentro de una función, es local a esa función, es decir, su ámbito esta
confinado a dicha función. Esta situación permite que existan variables con el mismo nombre
en diferentes funciones y que no mantengan ninguna relación entre sí.

    Llamada a una función

            Ejecuta el grupo de sentencias de una función.

    Retorno

            Una vez “llamada” la función, esta hace su trabajo, y regresa al mismo
             punto donde fue llamada.

Declaración de Funciones

    De forma similar a las variables, las funciones deben ser declaradas:

tipoDatoRetorno nombreFuncion(lista parámetros);

int potencia(int base, int exponente)

{



                                               2
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

         sentencias;

}

Pasos para llamar a una Función

    Se evalúan las expresiones enviadas como argumentos.

    El valor de cada argumento es copiado en orden en cada parámetro correspondiente
    de la función llamada.

    Se ejecutan una a una las sentencias del cuerpo de la función hasta que aparece la
    sentencia return.

    Se evalúa la expresión de la sentencia return.

    El programa que llamó a la función continúa, reemplazando en el lugar de la llamada,
    el valor retornado.

    EJERCICIO 1

    //bordes en pantalla; funciones sin parametros



    #include<stdio.h>

    #include<conio.h>

    int factor,l,i,mul,fila=14,op;

    void borde()

    {

    int i;

    for(i=1;i<=80;i++)

    {

    gotoxy(i,1);printf("*");

    gotoxy(i,40);printf("*");

    }

    for(i=1;i<=40;i++)

    {

    gotoxy(1,i);printf("*");



                                            3
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(80,i);printf("*");

}

}

void tabla(int factor,int l)

{

for(i=1;i<=l;i++)

{

mul=factor*i;

gotoxy(10,fila);printf("%d * %d= %d",factor,i,mul);

fila=fila+1;

}

}

void main()

{

do

{

clrscr();

borde();

gotoxy(10,13

);printf("tabla");

gotoxy(10,8);printf("INGRESE EL FACTOR ");scanf("%d",&factor);

gotoxy(10,11);printf("INGRESE EL LIMITE ");scanf("%d",&l);

tabla(factor,l);

gotoxy(20,30);printf("1 para seguir 0 para salir ");scanf("%d",&op);

}

while(op==1);




                                          4
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

   getch();

   }




                                  FUNCIONES CON VECTORES

Un vector, solo puede ser argumento formal, es decir; por el momento, no podemos
enviarlo como valor de retorno., digo por el momento por que cuando hablemos de
punteros, veremos que si se pueden enviar.



   EJERCICIO 2



   //dise¤e un programa utilizando funciones que me permita ingresar N elementos

   //impares dentro de un vector en un rango de 1 hasta 69,presentarlos ordenado

   //en forma ascendente, recorrer el vector y buscar todos aquellos numeros que

   //sean multiplos de 3, guardarlos en un nuevo vector,presentarlo en forma
   descendente.

   # include<conio.h>

   # include<stdio.h>

   int l,i,num[20],v[20],f,j,k,a,fi2,fi3,h,vector[20],fi4,op;

   void ingreso (int l)

   {

   j=1;

   for(i=1;i<=l;i++)

   {

   do

   {

   gotoxy(20,f);printf("    ");

   gotoxy(20,f);scanf("%d",&num[i]);



                                                  5
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}

while(num[i]<1||num[i]>69);

if(num[i]%2==1)

{

v[j]=num[i];

gotoxy(20,10);printf("ING. DATOS");

gotoxy(20,f);printf("%d",v[j]);

f=f+1;

j=j+1;

}

}

}

void ordenar()

{

for(i=1;i<=l;i++)

{

for(k=1;k<=l;k++)

{

if(v[i]<v[k])

{

a=v[i];

v[i]=v[k];

v[k]=a;

}

}

}




                                       6
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

for(i=1;i<=l;i++)

{

gotoxy(28,10);printf("ORDENADOS");

gotoxy(32,fi2);printf("%d",v[i]);

fi2=fi2+1;

}

}

void multiplo()

{

h=1;

for(i=1;i<=l;i++)

{

if(v[i]%3==0)

{

vector[h]=v[i];

gotoxy(38,10);printf("MUL.DE 3");

gotoxy(42,fi3);printf("%d",vector[h]);

fi3=fi3+1;

h=h+1;

}

}

}

void descendente()

{

for(i=1;i<h;i++)

{




                                         7
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

for(k=1;k<h;k++)

{

if(vector[i]>vector[k])

{

a=vector[i];

vector[i]=vector[k];

vector[k]=a;

}

}

}

for(i=1;i<h;i++)

{

gotoxy(50,10);printf("DESCENDENTE");

gotoxy(50,fi4);printf("%d",vector[i]);

fi4=fi4+1;

}

}

void main()

{

//do

//{

clrscr();

f=15;

fi2=15;

fi3=15;

fi4=15;




                                           8
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(20,5);printf("FUNCION");

gotoxy(10,6);printf("Ingrese el limite");scanf("%d",&l);

ingreso(l);

ordenar();

multiplo();

descendente();

//gotoxy(10,40);printf("PRESS 1 PARA REPETIR");scanf("%d",&op);

//}

//while(op==1);

getch();

}



EJERCICIO 3



//funciomes: Ingrese un vector y validar entre 5 y 55.

#include<stdio.h>

#include<conio.h>

int i,vector[20],vector1[20],lim,j,fila=10;;

void borde()

{

int i;

for(i=1;i<=80;i++)

{

gotoxy(i,1);printf("+");

gotoxy(i,40);printf("+");

}




                                               9
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

for(i=1;i<=40;i++)

{

gotoxy(1,i);printf("*");

gotoxy(80,i);printf("*");

}

}

void vectores(int lim)

{

for(i=1;i<=lim;i++)

{

do

{

gotoxy(10,fila);printf("                  ");

gotoxy(10,fila);scanf("%d",&vector[i]);

}

while(vector[i]<5||vector[i]>55);

fila=fila+1;

}

}

void main()

{

int fila,i,vector[20];

clrscr();

borde();

gotoxy(20,5);printf("INGRESE EL LIMITE ");scanf("%d",&lim);

gotoxy(10,7);printf("INGRESE LOS VECTORES");




                                           10
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

vectores(lim);

getch();

}

EJERCICIO 4



# include<conio.h>

# include<stdio.h>

int factor1,factor2,lim,j,i,vector[20],f,k,h,vector1[20],vector2[20],f1,a,b,l;

void ingreso(int lim)

{

int i;

do

{

gotoxy(10,10);printf("ingrese el primer factor ");scanf("%d",&factor1);

}

while(factor1%3>=1);

do

{

gotoxy(10,12);printf("ingrese el segundo factor ");scanf("%d",&factor2);

}

while(factor2%4>=1);

l=1;

for(i=1;i<=lim;i++);

{

a=factor1*i;

vector1[l]=a;




                                            11
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(5,f1);printf("%d",vector1[l]);



f1=f1+1;

}

l=l+1;

for(i=1;i<=lim;i++);

{

b=factor2*i;

vector2[i]=b;



}

for(i=1;i<=lim*2;i++);

{

if(j%2==0)

{

vector[j]=vector1[i];

gotoxy(20,f);printf("%d",vector[j]);

f=f+1;

j=j+1;



}



else

if(j%2==1)

{

vector[j]=vector2[i];




                                          12
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(20,f);printf("%d",vector[j]);

f=f+1;

j=j+1;

}



}

}

void main()

{

clrscr();

f=15;

f1=15;

gotoxy(20,5);printf("VECTORES");

gotoxy(20,8);printf("INGRESE EL LIMITE");scanf("%d",&lim);

ingreso(lim);

getch();

}



EJERCICIO 5



//Dise¤e un programa usando funciones que me permita ingresar N elementos

//impares dentro de un vector en un rango de 1 a 69, presentarlo ordenado en

//forma ascendente recorrer el vector y buscar todos aquellos n£meros que sean

//multiplos de 3 guardarlos en un nuevo vector, presentarlo de forma

//descendente

#include<stdio.h>




                                        13
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

#include<conio.h>

#include<stdlib.h>

int l,v[25],i,x,f,j,aux,vt[25];

void borde()

{

for(i=1;i<=80;i++)

{

gotoxy(i,1);printf("š");

gotoxy(i,45);printf("š");

}

for(i=1;i<=45;i++)

{

gotoxy(1,i);printf("š");

gotoxy(80,i);printf("š");

}

}



void ingreso(int l)

{

f=16;

j=0;

for(i=1;i<=l;i++)

{

gotoxy(6,14);printf("Vector");

do

{




                                          14
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

do

{

gotoxy(10,f);printf("       ");

gotoxy(10,f);scanf("%d",&v[i]);

x=v[i]%2;

}

while(v[i]<1 || v[i]>69);

}



while(x==0);

f=f+1;

j=j+1;

}

}

void ordenar()

{



for(i=1;i<=l;i++)

     {

for (j=1;j<=l;j++)

     {

if (v[i]>v[j])

{

aux=v[i];

v[i]=v[j];

v[j]=aux;




                                         15
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}

}

    }

f=16;

for (i=j-1;i>=1;i--)

{

gotoxy(24,14);printf("ORDENADO");

gotoxy(25,f);printf ("%d",v[i]);

f=f+1;

}

}

void multiplos()

{

f=16;

for (i=j-1;i>=1;i--)

{

if(v[i]%3==0)

{

vt[i]=v[i];

gotoxy(34,14);printf("mult de 3");

gotoxy(35,f);printf ("%d",vt[i]);

}

f=f+1;

}

}

void main()




                                        16
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

  {

  clrscr();

  gotoxy(20,5);printf("FUNCION");

  gotoxy(10,10);printf("Ingrese L¡mite :");scanf("%d",&l);

  ingreso(l);

  ordenar();

  multiplos();

  getch();

  }



Funciones en las que usamos Menú

      En la práctica, muchas veces debemos diseñar programas, que nos
      permitan elegir la acción o acciones a realizar, es decir haciendo uso de un
      menú. El cual, no es más ni menos que la aplicación de un selector
      múltiple. Un switch.

      Veamos un ejemplo.



  EJERCICIO 6



  //dise¤e un programa utilizando vectores y funciones que me permita dise¤ar

  //un menu de opciones con las 4 operaciones basicas entre vectores, se valida el

  //ingreso p…ra numeros que esten entre 3 y 17, en el caso de la resta verificar

  //que siempre el minuendo sea mayor que el sustraendo asi como tambien en el caso

  //de la division, los datos y sus resultados se van visualizando paralelamente.

  #include<stdio.h>

  #include<conio.h>

  int i,op,vec1[20],f,l,f1,vec2[20],j,s[20],f2,r[20],m[20],d[20],opc;




                                              17
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

void borde()

{

for(i=1;i<=80;i++)

{

    gotoxy(i,1);printf("*",i);

    gotoxy(i,45);printf("*",i);

}

for(i=1;i<=45;i++)

{

    gotoxy(1,i);printf("*",i);

    gotoxy(80,i);printf("*",i);

}

}

void ingreso(int l)

{

for(i=1;i<=l;i++)

{

do

{

do

{

gotoxy(10,f);printf(" ");

gotoxy(10,f);scanf("%d",&vec1[i]);

}

while(vec1[i]<3||vec1[i]>17);

    f=f+1;




                                           18
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

do

{

gotoxy(25,f1);printf(" ");

gotoxy(25,f1);scanf("%d",&vec2[i]);

}

while(vec2[i]<3||vec2[i]>17);

f1=f1+1;

}

while(vec1[i]<vec2[i]);

}

}

void suma()

{

gotoxy(20,5);printf("SUMA");

f1=12;

f2=12;

for(i=1;i<=l;i++)

{

gotoxy(10,f1);printf("%d",vec1[i]);

gotoxy(25,f1);printf("%d",vec2[i]);

f1=f1+1;

s[j]=vec1[i]+vec2[i];

gotoxy(35,f2);printf("%d",s[j]);

j=j+1;

f2=f2+1;

}




                                         19
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}

void resta()

{

gotoxy(20,5);printf("RESTA");

f1=12;

f2=12;

for(i=1;i<=l;i++)

{

gotoxy(10,f1);printf("%d",vec1[i]);

gotoxy(25,f1);printf("%d",vec2[i]);

f1=f1+1;

r[j]=vec1[i]-vec2[i];

gotoxy(35,f2);printf("%d",r[j]);

j=j+1;

f2=f2+1;

}

}

void multiplicacion()

{

gotoxy(20,5);printf("MULTIPLICACION");

f1=12;

f2=12;

for(i=1;i<=l;i++)

{

gotoxy(10,f1);printf("%d",vec1[i]);

gotoxy(25,f1);printf("%d",vec2[i]);




                                         20
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

f1=f1+1;

m[j]=vec1[i]*vec2[i];

gotoxy(35,f2);printf("%d",m[j]);

j=j+1;

f2=f2+1;

}

}

void division()

{

gotoxy(20,5);printf("DIVISION");

f1=12;

f2=12;

for(i=1;i<=l;i++)

{

gotoxy(10,f1);printf("%d",vec1[i]);

gotoxy(25,f1);printf("%d",vec2[i]);

f1=f1+1;

d[j]=vec1[i]/vec2[i];

gotoxy(35,f2);printf("%d",d[j]);

j=j+1;

f2=f2+1;

}

}

void main()

{

do




                                         21
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

{

clrscr();

f=12;

f1=12;

f2=12;

borde();

gotoxy(20,10);printf("INGRESE UN LIMITE ");scanf("%d",&l);

ingreso(l);

clrscr();

gotoxy(20,5);printf("MENU DE OPCIONES");

gotoxy(10,8);printf("1.- SUMA ");

gotoxy(10,11);printf("2.- RESTA ");

gotoxy(10,14);printf("3.- MULTIPLICACION ");

gotoxy(10,17);printf("4.- DIVISION ");

gotoxy(10,19);printf("5.- SALIR ");

gotoxy(10,22);printf("SELECCIONE UNA OPCION ");scanf("%d",&op);

switch(op)

{

case 1:

clrscr();

suma();

break;

case 2:

clrscr();

resta();

break;




                                         22
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

    case 3:

    clrscr();

    multiplicacion();

    break;

    case 4:

    clrscr();

    division();

    break;

    case 5:

    exit();

    break;

    }

    gotoxy(20,35);printf("1 para seguir 0 para salir ");scanf("%d",&opc);

    }

    while(opc==1);



    getch();

    }



                              FUNCIONES CON MATRICES

Las matrices se declaran de forma análoga, con corchetes independientes para cada
subíndice.




Funciones en las que usamos Menú

        En la práctica, muchas veces debemos diseñar programas, que nos
        permitan elegir la acción o acciones a realizar, es decir haciendo uso de un
        menú. El cual, no es más ni menos que la aplicación de un selector
        múltiple. Un switch.


                                             23
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

        Veamos un ejemplo.



EJERCICIO 7



// Realice un programa que me permita realizar el siguiente menú con funciones. Menu
//de opciones números primos, fibonacci, elementos pares, ordenar una matriz

#include<conio.h>

#include<stdio.h>

int
i,j,cont1=1,k,vector[10],l,h,cont=1,a,b,vector2[10],c,c2,f2,aux,f,matriz[10][10],x,op,c1,f1;

void primos(int l)

{

    clrscr();

    gotoxy(20,5);printf("Numeros Primos");

    c=10;

    f=12;

    k=0;

    a=1;



    for(i=1;i<=l;i++)

    {

    k=0;

    for(j=1;j<=i;j++)

    {

    if(i%j==0)

    {

    k=k+1;




                                          24
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}

}

if(k<=2)

{

matriz[i][j]=i;

gotoxy(c,f);printf("%d",matriz[i][j]);

c=c+2;

f=f+2;

c=10;

}

}

}

void pares(int l)

{

gotoxy(20,5);printf("Elementos paraes e impares");

gotoxy(10,8);printf("ING. LA MATRIZ ");

c=8;

f=12;

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

do

{

gotoxy(c,f);printf(" ");

gotoxy(c,f);scanf("%d",&matriz[i][j]);




                                         25
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}

while(matriz[i][j]<1||matriz[i][j]>32);

c=c+3;

}

f=f+2;

c=8;

}

c1=30;

f1=12;

f=12;

c=25;

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

if(matriz[i][j]%2==0)

{

vector[cont]=matriz[i][j];

//gotoxy(c,f);printf("%d",vector[cont]);

cont=cont+1;

//f=f+2;

}

else

{

vector2[cont1]=matriz[i][j];

// gotoxy(c1,f1);printf("%d",vector2[cont1]);




                                           26
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

cont1=cont1+1;

//f1=f1+1;

}

}

}

c2=25;

f2=12;

for(i=1;i<cont;i++)

{

for(j=1;j<cont;j++)

{

if(vector[i]<vector[j])

{

aux=vector[i];

vector[i]=vector[j];

vector[j]=aux;

}

}

}

for(j=1;j<cont;j++)

{

gotoxy(c2,f2);printf("%d",vector[j]);

f2=f2+2;

}

c2=35;

f2=12;




                                        27
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

    for(i=1;i<cont1;i++)

    {

    for(j=1;j<cont1;j++)

    {

    if(vector2[i]<vector2[j])

    {

    aux=vector2[i];

    vector2[i]=vector2[j];

    vector2[j]=aux;

    }

    }

    }

    for(j=1;j<cont1;j++)

    {

    gotoxy(c2,f2);printf("%d",vector2[j]);

    f2=f2+2;

    }

    }

void ordenar(int l)

{

gotoxy(20,5);printf("ORDENAR MATRIZ");

    gotoxy(10,8);printf("ING. LA MATRIZ ");

    c=8;

    f=12;

    c2=20;

    f2=12;




                                             28
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

gotoxy(c,f);scanf("%d",&matriz[i][j]);

c=c+3;

}

f=f+2;

c=8;

}

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

vector[cont]=matriz[i][j];

cont=cont+1;

}

}

for(i=1;i<cont;i++)

{

for(j=1;j<cont;j++)

{

if(vector[i]<vector[j])

{

aux=vector[i];

vector[i]=vector[j];




                                         29
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

vector[j]=aux;

}

}

}

for(j=1;j<cont;j++)

{

gotoxy(c2,f2);printf("%d",vector[j]);

f2=f2+2;

}

f2=12;

for(i=1;i<cont;i++)

{

for(j=1;j<cont;j++)

{

if(vector[i]>vector[j])

{

aux=vector[i];

vector[i]=vector[j];

vector[j]=aux;

}

}

}

for(j=1;j<cont;j++)

{

gotoxy(c2+6,f2);printf("%d",vector[j]);

f2=f2+2;




                                          30
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

    }

    }



void main()

{

clrscr();

gotoxy(10,5);printf("MENU DE OPCIONES ");

gotoxy(10,8);printf("1.-NUMEROS PRIMOS ");

gotoxy(10,10);printf("2.-FIBONACCI ");

gotoxy(10,12);printf("3.-ELEMENTOS PARES ");

gotoxy(10,14);printf("4.-ORDENAR UNA MATRIZ ");

gotoxy(10,16);printf("ESCOJA UNA OPCION ");scanf("%d",&op);

gotoxy(10,18);printf("Ingrese el limite ");scanf("%d",&l);

switch(op)

{

case 1:

clrscr();

primos(l);

break;

case 3:

clrscr();

pares(l);

break;

case 4:

clrscr();

ordenar(l);




                                          31
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

   break;

   }

  getch();

  }




Funciones en las que usamos Menú

       En la práctica, muchas veces debemos diseñar programas, que nos
       permitan elegir la acción o acciones a realizar, es decir haciendo uso de un
       menú. El cual, no es más ni menos que la aplicación de un selector
       múltiple. Un switch.

  EJERCICO 8



  //dise¤e un programa utilizando matrices y funciones que me permita

  //ingresar n elementos en una matriz con datos entre 5 y 35 esxcluyendo‡

  // las diagonal principal y secundaria, en donde la diagonal principal

  // se llena con la serie del fibonaci y la diagonal secundaria con el

  // factorial de los numeros ascendentes iniciando en 3. recorra la matriz

  // y guarde los datos de la diagonal principal en las posiciones pares

  // del vector y los datos de la diagonal secundaria en las posiciones

  //impares del vector. presente como resulatado el vector de origen y

  // el mismo vector impreso en forma descendente

  #include<conio.h>

  #include<stdio.h>

  int i,j,m[10][10],c=8,f=10,l,a,b,d,m1[10][10],v[10],e,f1=10,g;

  void borde()

  {




                                            32
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

for(i=1;i<=25;i++)

{

gotoxy(1,i);printf("@",i);

gotoxy(80,i);printf("@",i);

}

for(i=1;i<=80;i++)

{

gotoxy(i,2);printf("@",i);

gotoxy(i,25);printf("@",i);

}

}

void ingreso(int l)

{

a=0;

b=1;

d=0;

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

if(i==j)

{

a=b;

b=d;

d=a+b;

m[i][j]=d;




                                       33
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(c,f);printf("%d",m[i][j]);

//gotoxy(c,f);scanf("%d",&m[i][j]);

}

else

do

{

gotoxy(c,f);printf("     ");

gotoxy(c,f);scanf("%d",&m[i][j]);

}while(m[i][j]<5||m[i][j]>35);

c=c+3;

}

c=8;

f=f+1;

}

}

void vec(int l)

{

//g=l-2;

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

if(i==j)

{

v[e]=m[i][j];

gotoxy(20,f1);printf("%d",v[e]);




                                        34
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}

f1=f1+1;

e=e+1;

}

}

}



void main()

{

int l,op;

do

{

c=8;

f=10;

clrscr();

borde();

gotoxy(20,3);printf("EXAMEN");

gotoxy(5,4);printf(" INGRESE UN LIMITE ");scanf("%d",&l);

ingreso(l);

vec(l);

gotoxy(10,22);printf("desea continuar 1 y 0m para salir ");scanf("%d",&op);

}while(op==1);

getch();

}




                                        35
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012




Funciones en las que usamos Menú

      En la práctica, muchas veces debemos diseñar programas, que nos
      permitan elegir la acción o acciones a realizar, es decir haciendo uso de un
      menú. El cual, no es más ni menos que la aplicación de un selector
      múltiple. Un switch.

      Veamos un ejemplo.

EJERCICIO 9



  //1.-dise¤e un programa que permita generar una matriz cuadratica con

  //numeros primos

  //2.-dise¤e un programa que permita generar n elementos en una matriz

  //cuadratica con la serie de fibonacci

  //3.- Diseñe un programa que permita ingresar n elementos entre 1 y 32,

  //recorrer la matriz y guardar los elementos pares en un vector y

  //los elementos impares en otro vector se presentan los datos ordenados.

  //4.-dise¤ar un programa que me permita ordenar en forma ascendente los

  // datos de una matriz

  #include<stdio.h>

  #include<conio.h>

  int i,b,c1,f,op,opc,j,k,l,a,b,n,m,b1,c,r,c2,f2,c3,f1,aux;

  int matriz1[10][10],vec[10],vec1[10];

  void borde()

  {

  for(i=1;i<=25;i++)

  {

  gotoxy(1,i);printf("@",i);




                                              36
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(80,i);printf("@",i);

}

for(i=1;i<=80;i++)

{

gotoxy(i,2);printf("@",i);

gotoxy(i,25);printf("@",i);

}

}

void primos()

{

for(i=1;i<=l;i++)

{

a=0;

for(k=1;k<=i;k++)

{

if(i%k==0)

{

a=a+1;

}

}

if(a<=2)

{

gotoxy(c1,f);printf("%d",i);

c1=5;

f=f+1;

}




                                       37
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

else

{

l=l+1;

}

}

}

void fibonacci()

{

a=0;

b1=1;

c=0;

for(j=1;j<=l;j++)

{

for(k=1;k<=l;k++)

{

a=b1;

b1=c;

c=a+b1;

matriz1[j][k]=c;

gotoxy(c1,f);printf("%d",matriz1[j][k]);

c1=c1+8;

}

c1=5;

f=f+1;

}

}




                                           38
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

void numeros()

{

for(j=1;j<=l;j++)

{

for(k=1;k<=l;k++)

{

do

{

gotoxy(c1,f);printf("      ");

gotoxy(c1,f);scanf("%d",&matriz1[j][k]);

}

while(matriz1[j][k]<1||matriz1[j][k]>32);

c1=c1+9;

}

c1=5;

f=f+1;

}

//pares

c2=30;

f1=10;

a=1;

for(j=1;j<=l;j++)

{

for(k=1;k<=l;k++)

{

if(matriz1[j][k]%2==0)




                                            39
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

{

vec[a]=matriz1[j][k];

//gotoxy(c2,f1);printf("%d",vec[a]);

a=a+1;

f1=f1+1;

}

}

}

//impares

f2=10;

c3=38;

b=1;

for(j=1;j<=l;j++)

{

for(k=1;k<=l;k++)

{

if(matriz1[j][k]%2==1)

{

vec1[b]=matriz1[j][k];

//gotoxy(c3,f2);printf("%d",vec1[b]);

b=b+1;

f2=f2+1;

}

}

}




                                         40
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

//ordenado



for(j=1;j<a;j++)

{

for(k=1;k<a;k++)

{

if(vec[j]<vec[k])

{

aux=vec[j];

vec[j]=vec[k];

vec[k]=aux;

}

}

}

aux=1;

f1=10;

for(j=1;j<a;j++)

{

gotoxy(45,f1);printf("%d",vec[j]);

f1=f1+1;

}

//oredenado impares

for(j=1;j<b;j++)

{

for(k=1;k<b;k++)

{




                                      41
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

if(vec1[j]<vec1[k])

{

aux=vec1[j];

vec1[j]=vec1[k];

vec1[k]=aux;

}

}

}

aux=1;

f1=10;

for(j=1;j<b;j++)

{

gotoxy(55,f1);printf("%d",vec1[j]);

f1=f1+1;

}

}

void ordenado()

{

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

gotoxy(c1,f);scanf("%d",&matriz1[i][j]);

c1=c1+7;

}

c1=5;




                                           42
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

f=f+1;

}

aux=1;

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

for(m=1;m<=l;m++)

{

for(n=1;n<=l;n++)

{

if(matriz1[i][j]<matriz1[m][n])

{

aux=matriz1[i][j];

matriz1[i][j]=matriz1[m][n];

matriz1[m][n]=aux;

}

}

}

}

}

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

gotoxy(c2,f1);printf("%d",matriz1[i][j]);




                                            43
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

c2=c2+5;

}

c2=30;

f1=f1+1;

}

}

void main()

{

do

{

clrscr();

borde();

c1=5;

c2=30;

f=10;

c3=38;

f1=10;

f2=10;

gotoxy(10,3);printf("MENU DE OPCIONES");

gotoxy(5,5);printf("1.-NUMEROS PRIMOS");

gotoxy(5,7);printf("2.-SERIE DEL FIBONACCI");

gotoxy(5,9);printf("3.-NUMEROS PARES E IMPARES");

gotoxy(5,11);printf("4.-ORDENACION DE UNA MATRIZ");

gotoxy(5,13);printf("5.-SALIR");

gotoxy(5,16);printf("SELECCIONE UNA OPCION ");scanf("%d",&op);

clrscr();




                                      44
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

switch(op)

{

case 1:

borde();

gotoxy(10,5);printf("NUMEROS PRIMOS");

gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l);

primos();

break;

case 2:

borde();

gotoxy(10,5);printf("SERIE DEL FIBONACCI");

gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l);

fibonacci();

break;

case 3:

borde();

gotoxy(10,5);printf("NUMEROS PARES E IMPARES");

gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l);

gotoxy(5,9);printf("MATRIZ");

gotoxy(43,9);printf("PARES");

gotoxy(51,9);printf("IMPARES");

numeros();

break;

case 4:

borde();

gotoxy(10,5);printf("ORDENAR UNA MATRIZ");




                                      45
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l);

gotoxy(5,8);printf("MATRIZ");

gotoxy(28,8);printf("MATRIZ ORDENADA");



ordenado();

break;

case 5:

exit();

}

gotoxy(5,20);printf("SELCCIONE      1   PARA      CONTINUAR   Y   0   PARA    SALIR
");scanf("%d",&opc);

}

while(opc==1);

getch();

}



EJERCICIO 10

//producto algebraico de una matriz cuadratica

#include<stdio.h>

#include<conio.h>

int l,c,c1,c2,f,f1,f2,k,i,j,op,a;

int matriz1[10][10],matriz2[10][10],matriz3[10][10];

void borde()

{

for(i=1;i<=25;i++)

{

gotoxy(1,i);printf("@",i);



                                          46
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

gotoxy(80,i);printf("@",i);

}

for(i=1;i<=80;i++)

{

gotoxy(i,2);printf("@",i);

gotoxy(i,25);printf("@",i);

}

}

void ingreso()

{

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

gotoxy(c,f);scanf("%d",&matriz1[i][j]);

c=c+5;

}

c=5;

f=f+1;

}

for(i=1;i<=l;i++)

{

for(j=1;j<=l;j++)

{

gotoxy(c1,f1);scanf("%d",&matriz2[i][j]);

c1=c1+5;




                                            47
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}

c1=25;

f1=f1+1;

}

}

void producto()

{

for(i=0;i<=l;i++)

{

for(j=0;j<=l;j++)

{

matriz3[i][j]=0;

for(k=0;k<=l;k++)

{

matriz3[i][j]=matriz3[i][j]+matriz1[i][k]*matriz2[k][j];

}

}

}

for(i=1;i<=l;i++)

{

for(k=1;k<=l;k++)

{

gotoxy(c2,f2);printf("%d",matriz3[i][k]);

c2=c2+4;

}

c2=42;




                                              48
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

f2=f2+1;

}

}

void main()

{

do

{

clrscr();

borde();

c=5;

c1=25;

c2=42;

f=10;

f1=10;

f2=10;

gotoxy(10,3);printf("PRODUCTO ALGEBRAICO DE UNA MATRIZ");

gotoxy(10,5);printf("INGRESE UN LIMITE ");scanf("%d",&l);

gotoxy(5,7);printf("MATRIZ1");

gotoxy(25,7);printf("MATRIZ2");

gotoxy(38,7);printf("MATRIZ RESULTANTE");

ingreso();

producto();

gotoxy(8,20);printf("seleccione 1 para continuar y 0 para salir ");scanf("%d",&op);

}

while(op==1);

getch();




                                         49
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012

}




                     50

Contenu connexe

Tendances

Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CDiego Santimateo
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoEnAutomático
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basicYesenia Bautista
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Eloy Rodriguez
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++tacubomx
 
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuarioLenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuarioCarlos
 
Programa para calcular valores de resistencias
Programa para calcular valores de resistenciasPrograma para calcular valores de resistencias
Programa para calcular valores de resistenciasUlises Hernandez
 
Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificadocompumet sac
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++ Ronal Palomino
 
Funcione con vectores y matrices en c
Funcione con vectores y matrices en cFuncione con vectores y matrices en c
Funcione con vectores y matrices en cpaulinaguec
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamientoSergio Ramos
 

Tendances (20)

FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje C
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basic
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 
Arreglos C#
Arreglos C#Arreglos C#
Arreglos C#
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 
11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuarioLenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
 
Utilidad de las funciones en c
Utilidad de las funciones en cUtilidad de las funciones en c
Utilidad de las funciones en c
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos
ArreglosArreglos
Arreglos
 
Programa para calcular valores de resistencias
Programa para calcular valores de resistenciasPrograma para calcular valores de resistencias
Programa para calcular valores de resistencias
 
Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Funcione con vectores y matrices en c
Funcione con vectores y matrices en cFuncione con vectores y matrices en c
Funcione con vectores y matrices en c
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Clase 5
Clase 5Clase 5
Clase 5
 

Similaire à Funciones con vectores y matrices

ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++Riki Tapia
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosRiki Tapia
 
Programacion
ProgramacionProgramacion
Programacionbeca777
 
Programacion
ProgramacionProgramacion
Programacionbeca777
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosdiegorap
 
Tra 130315111309-phpapp02
Tra 130315111309-phpapp02Tra 130315111309-phpapp02
Tra 130315111309-phpapp02guapi387
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosmellcv
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)Videoconferencias UTPL
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++die_dex
 
Aritmetica
AritmeticaAritmetica
AritmeticaBOTICA
 

Similaire à Funciones con vectores y matrices (20)

Elemento 4
Elemento 4Elemento 4
Elemento 4
 
ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Universidad técnica de ambato
Universidad técnica de ambatoUniversidad técnica de ambato
Universidad técnica de ambato
 
Programacion 55
Programacion 55Programacion 55
Programacion 55
 
Revista digital
Revista digitalRevista digital
Revista digital
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Tra
TraTra
Tra
 
Ejerciciosprogramacion
EjerciciosprogramacionEjerciciosprogramacion
Ejerciciosprogramacion
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizados
 
Tra 130315111309-phpapp02
Tra 130315111309-phpapp02Tra 130315111309-phpapp02
Tra 130315111309-phpapp02
 
Elemento2
Elemento2Elemento2
Elemento2
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptos
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 

Funciones con vectores y matrices

  • 1. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE EDUCACIÓN CARRERA: DOCENCIA EN INFORMÁTICA PROGRAMACION II ALUMNA: PAULINA GUATAPI SEMESTRE: TERCERO AMBATO - ECUADOR 2012 1
  • 2. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 FUNCIONES Son un grupo de sentencias bajo el mismo nombre que realizan una tarea específica. Sirven para facilitar la resolución de problemas mediante la aplicación del paradigma “Dividir y Conquistar”. Variables Las variables se pueden clasificar de acuerdo a su tipo de dato. Por ejemplo, una variable puede ser de tipo entero (int) o de tipo carácter (char). Sin embargo, las variables también pueden clasificarse de acuerdo a su ámbito, es decir, la parte del programa en la que la variable es reconocida. De acuerdo con su ámbito, las variables pueden ser locales o globales. Al igual que sucede con las variables declaradas dentro de la función main, cualquier variable que declaremos dentro de una función, es local a esa función, es decir, su ámbito esta confinado a dicha función. Esta situación permite que existan variables con el mismo nombre en diferentes funciones y que no mantengan ninguna relación entre sí. Llamada a una función  Ejecuta el grupo de sentencias de una función. Retorno  Una vez “llamada” la función, esta hace su trabajo, y regresa al mismo punto donde fue llamada. Declaración de Funciones De forma similar a las variables, las funciones deben ser declaradas: tipoDatoRetorno nombreFuncion(lista parámetros); int potencia(int base, int exponente) { 2
  • 3. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 sentencias; } Pasos para llamar a una Función Se evalúan las expresiones enviadas como argumentos. El valor de cada argumento es copiado en orden en cada parámetro correspondiente de la función llamada. Se ejecutan una a una las sentencias del cuerpo de la función hasta que aparece la sentencia return. Se evalúa la expresión de la sentencia return. El programa que llamó a la función continúa, reemplazando en el lugar de la llamada, el valor retornado. EJERCICIO 1 //bordes en pantalla; funciones sin parametros #include<stdio.h> #include<conio.h> int factor,l,i,mul,fila=14,op; void borde() { int i; for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,40);printf("*"); } for(i=1;i<=40;i++) { gotoxy(1,i);printf("*"); 3
  • 4. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(80,i);printf("*"); } } void tabla(int factor,int l) { for(i=1;i<=l;i++) { mul=factor*i; gotoxy(10,fila);printf("%d * %d= %d",factor,i,mul); fila=fila+1; } } void main() { do { clrscr(); borde(); gotoxy(10,13 );printf("tabla"); gotoxy(10,8);printf("INGRESE EL FACTOR ");scanf("%d",&factor); gotoxy(10,11);printf("INGRESE EL LIMITE ");scanf("%d",&l); tabla(factor,l); gotoxy(20,30);printf("1 para seguir 0 para salir ");scanf("%d",&op); } while(op==1); 4
  • 5. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 getch(); } FUNCIONES CON VECTORES Un vector, solo puede ser argumento formal, es decir; por el momento, no podemos enviarlo como valor de retorno., digo por el momento por que cuando hablemos de punteros, veremos que si se pueden enviar. EJERCICIO 2 //dise¤e un programa utilizando funciones que me permita ingresar N elementos //impares dentro de un vector en un rango de 1 hasta 69,presentarlos ordenado //en forma ascendente, recorrer el vector y buscar todos aquellos numeros que //sean multiplos de 3, guardarlos en un nuevo vector,presentarlo en forma descendente. # include<conio.h> # include<stdio.h> int l,i,num[20],v[20],f,j,k,a,fi2,fi3,h,vector[20],fi4,op; void ingreso (int l) { j=1; for(i=1;i<=l;i++) { do { gotoxy(20,f);printf(" "); gotoxy(20,f);scanf("%d",&num[i]); 5
  • 6. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } while(num[i]<1||num[i]>69); if(num[i]%2==1) { v[j]=num[i]; gotoxy(20,10);printf("ING. DATOS"); gotoxy(20,f);printf("%d",v[j]); f=f+1; j=j+1; } } } void ordenar() { for(i=1;i<=l;i++) { for(k=1;k<=l;k++) { if(v[i]<v[k]) { a=v[i]; v[i]=v[k]; v[k]=a; } } } 6
  • 7. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 for(i=1;i<=l;i++) { gotoxy(28,10);printf("ORDENADOS"); gotoxy(32,fi2);printf("%d",v[i]); fi2=fi2+1; } } void multiplo() { h=1; for(i=1;i<=l;i++) { if(v[i]%3==0) { vector[h]=v[i]; gotoxy(38,10);printf("MUL.DE 3"); gotoxy(42,fi3);printf("%d",vector[h]); fi3=fi3+1; h=h+1; } } } void descendente() { for(i=1;i<h;i++) { 7
  • 8. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 for(k=1;k<h;k++) { if(vector[i]>vector[k]) { a=vector[i]; vector[i]=vector[k]; vector[k]=a; } } } for(i=1;i<h;i++) { gotoxy(50,10);printf("DESCENDENTE"); gotoxy(50,fi4);printf("%d",vector[i]); fi4=fi4+1; } } void main() { //do //{ clrscr(); f=15; fi2=15; fi3=15; fi4=15; 8
  • 9. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(20,5);printf("FUNCION"); gotoxy(10,6);printf("Ingrese el limite");scanf("%d",&l); ingreso(l); ordenar(); multiplo(); descendente(); //gotoxy(10,40);printf("PRESS 1 PARA REPETIR");scanf("%d",&op); //} //while(op==1); getch(); } EJERCICIO 3 //funciomes: Ingrese un vector y validar entre 5 y 55. #include<stdio.h> #include<conio.h> int i,vector[20],vector1[20],lim,j,fila=10;; void borde() { int i; for(i=1;i<=80;i++) { gotoxy(i,1);printf("+"); gotoxy(i,40);printf("+"); } 9
  • 10. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 for(i=1;i<=40;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void vectores(int lim) { for(i=1;i<=lim;i++) { do { gotoxy(10,fila);printf(" "); gotoxy(10,fila);scanf("%d",&vector[i]); } while(vector[i]<5||vector[i]>55); fila=fila+1; } } void main() { int fila,i,vector[20]; clrscr(); borde(); gotoxy(20,5);printf("INGRESE EL LIMITE ");scanf("%d",&lim); gotoxy(10,7);printf("INGRESE LOS VECTORES"); 10
  • 11. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 vectores(lim); getch(); } EJERCICIO 4 # include<conio.h> # include<stdio.h> int factor1,factor2,lim,j,i,vector[20],f,k,h,vector1[20],vector2[20],f1,a,b,l; void ingreso(int lim) { int i; do { gotoxy(10,10);printf("ingrese el primer factor ");scanf("%d",&factor1); } while(factor1%3>=1); do { gotoxy(10,12);printf("ingrese el segundo factor ");scanf("%d",&factor2); } while(factor2%4>=1); l=1; for(i=1;i<=lim;i++); { a=factor1*i; vector1[l]=a; 11
  • 12. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(5,f1);printf("%d",vector1[l]); f1=f1+1; } l=l+1; for(i=1;i<=lim;i++); { b=factor2*i; vector2[i]=b; } for(i=1;i<=lim*2;i++); { if(j%2==0) { vector[j]=vector1[i]; gotoxy(20,f);printf("%d",vector[j]); f=f+1; j=j+1; } else if(j%2==1) { vector[j]=vector2[i]; 12
  • 13. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(20,f);printf("%d",vector[j]); f=f+1; j=j+1; } } } void main() { clrscr(); f=15; f1=15; gotoxy(20,5);printf("VECTORES"); gotoxy(20,8);printf("INGRESE EL LIMITE");scanf("%d",&lim); ingreso(lim); getch(); } EJERCICIO 5 //Dise¤e un programa usando funciones que me permita ingresar N elementos //impares dentro de un vector en un rango de 1 a 69, presentarlo ordenado en //forma ascendente recorrer el vector y buscar todos aquellos n£meros que sean //multiplos de 3 guardarlos en un nuevo vector, presentarlo de forma //descendente #include<stdio.h> 13
  • 14. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 #include<conio.h> #include<stdlib.h> int l,v[25],i,x,f,j,aux,vt[25]; void borde() { for(i=1;i<=80;i++) { gotoxy(i,1);printf("š"); gotoxy(i,45);printf("š"); } for(i=1;i<=45;i++) { gotoxy(1,i);printf("š"); gotoxy(80,i);printf("š"); } } void ingreso(int l) { f=16; j=0; for(i=1;i<=l;i++) { gotoxy(6,14);printf("Vector"); do { 14
  • 15. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 do { gotoxy(10,f);printf(" "); gotoxy(10,f);scanf("%d",&v[i]); x=v[i]%2; } while(v[i]<1 || v[i]>69); } while(x==0); f=f+1; j=j+1; } } void ordenar() { for(i=1;i<=l;i++) { for (j=1;j<=l;j++) { if (v[i]>v[j]) { aux=v[i]; v[i]=v[j]; v[j]=aux; 15
  • 16. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } } } f=16; for (i=j-1;i>=1;i--) { gotoxy(24,14);printf("ORDENADO"); gotoxy(25,f);printf ("%d",v[i]); f=f+1; } } void multiplos() { f=16; for (i=j-1;i>=1;i--) { if(v[i]%3==0) { vt[i]=v[i]; gotoxy(34,14);printf("mult de 3"); gotoxy(35,f);printf ("%d",vt[i]); } f=f+1; } } void main() 16
  • 17. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 { clrscr(); gotoxy(20,5);printf("FUNCION"); gotoxy(10,10);printf("Ingrese L¡mite :");scanf("%d",&l); ingreso(l); ordenar(); multiplos(); getch(); } Funciones en las que usamos Menú En la práctica, muchas veces debemos diseñar programas, que nos permitan elegir la acción o acciones a realizar, es decir haciendo uso de un menú. El cual, no es más ni menos que la aplicación de un selector múltiple. Un switch. Veamos un ejemplo. EJERCICIO 6 //dise¤e un programa utilizando vectores y funciones que me permita dise¤ar //un menu de opciones con las 4 operaciones basicas entre vectores, se valida el //ingreso p…ra numeros que esten entre 3 y 17, en el caso de la resta verificar //que siempre el minuendo sea mayor que el sustraendo asi como tambien en el caso //de la division, los datos y sus resultados se van visualizando paralelamente. #include<stdio.h> #include<conio.h> int i,op,vec1[20],f,l,f1,vec2[20],j,s[20],f2,r[20],m[20],d[20],opc; 17
  • 18. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 void borde() { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*",i); gotoxy(i,45);printf("*",i); } for(i=1;i<=45;i++) { gotoxy(1,i);printf("*",i); gotoxy(80,i);printf("*",i); } } void ingreso(int l) { for(i=1;i<=l;i++) { do { do { gotoxy(10,f);printf(" "); gotoxy(10,f);scanf("%d",&vec1[i]); } while(vec1[i]<3||vec1[i]>17); f=f+1; 18
  • 19. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 do { gotoxy(25,f1);printf(" "); gotoxy(25,f1);scanf("%d",&vec2[i]); } while(vec2[i]<3||vec2[i]>17); f1=f1+1; } while(vec1[i]<vec2[i]); } } void suma() { gotoxy(20,5);printf("SUMA"); f1=12; f2=12; for(i=1;i<=l;i++) { gotoxy(10,f1);printf("%d",vec1[i]); gotoxy(25,f1);printf("%d",vec2[i]); f1=f1+1; s[j]=vec1[i]+vec2[i]; gotoxy(35,f2);printf("%d",s[j]); j=j+1; f2=f2+1; } 19
  • 20. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } void resta() { gotoxy(20,5);printf("RESTA"); f1=12; f2=12; for(i=1;i<=l;i++) { gotoxy(10,f1);printf("%d",vec1[i]); gotoxy(25,f1);printf("%d",vec2[i]); f1=f1+1; r[j]=vec1[i]-vec2[i]; gotoxy(35,f2);printf("%d",r[j]); j=j+1; f2=f2+1; } } void multiplicacion() { gotoxy(20,5);printf("MULTIPLICACION"); f1=12; f2=12; for(i=1;i<=l;i++) { gotoxy(10,f1);printf("%d",vec1[i]); gotoxy(25,f1);printf("%d",vec2[i]); 20
  • 21. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 f1=f1+1; m[j]=vec1[i]*vec2[i]; gotoxy(35,f2);printf("%d",m[j]); j=j+1; f2=f2+1; } } void division() { gotoxy(20,5);printf("DIVISION"); f1=12; f2=12; for(i=1;i<=l;i++) { gotoxy(10,f1);printf("%d",vec1[i]); gotoxy(25,f1);printf("%d",vec2[i]); f1=f1+1; d[j]=vec1[i]/vec2[i]; gotoxy(35,f2);printf("%d",d[j]); j=j+1; f2=f2+1; } } void main() { do 21
  • 22. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 { clrscr(); f=12; f1=12; f2=12; borde(); gotoxy(20,10);printf("INGRESE UN LIMITE ");scanf("%d",&l); ingreso(l); clrscr(); gotoxy(20,5);printf("MENU DE OPCIONES"); gotoxy(10,8);printf("1.- SUMA "); gotoxy(10,11);printf("2.- RESTA "); gotoxy(10,14);printf("3.- MULTIPLICACION "); gotoxy(10,17);printf("4.- DIVISION "); gotoxy(10,19);printf("5.- SALIR "); gotoxy(10,22);printf("SELECCIONE UNA OPCION ");scanf("%d",&op); switch(op) { case 1: clrscr(); suma(); break; case 2: clrscr(); resta(); break; 22
  • 23. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 case 3: clrscr(); multiplicacion(); break; case 4: clrscr(); division(); break; case 5: exit(); break; } gotoxy(20,35);printf("1 para seguir 0 para salir ");scanf("%d",&opc); } while(opc==1); getch(); } FUNCIONES CON MATRICES Las matrices se declaran de forma análoga, con corchetes independientes para cada subíndice. Funciones en las que usamos Menú En la práctica, muchas veces debemos diseñar programas, que nos permitan elegir la acción o acciones a realizar, es decir haciendo uso de un menú. El cual, no es más ni menos que la aplicación de un selector múltiple. Un switch. 23
  • 24. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 Veamos un ejemplo. EJERCICIO 7 // Realice un programa que me permita realizar el siguiente menú con funciones. Menu //de opciones números primos, fibonacci, elementos pares, ordenar una matriz #include<conio.h> #include<stdio.h> int i,j,cont1=1,k,vector[10],l,h,cont=1,a,b,vector2[10],c,c2,f2,aux,f,matriz[10][10],x,op,c1,f1; void primos(int l) { clrscr(); gotoxy(20,5);printf("Numeros Primos"); c=10; f=12; k=0; a=1; for(i=1;i<=l;i++) { k=0; for(j=1;j<=i;j++) { if(i%j==0) { k=k+1; 24
  • 25. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } } if(k<=2) { matriz[i][j]=i; gotoxy(c,f);printf("%d",matriz[i][j]); c=c+2; f=f+2; c=10; } } } void pares(int l) { gotoxy(20,5);printf("Elementos paraes e impares"); gotoxy(10,8);printf("ING. LA MATRIZ "); c=8; f=12; for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { do { gotoxy(c,f);printf(" "); gotoxy(c,f);scanf("%d",&matriz[i][j]); 25
  • 26. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } while(matriz[i][j]<1||matriz[i][j]>32); c=c+3; } f=f+2; c=8; } c1=30; f1=12; f=12; c=25; for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { if(matriz[i][j]%2==0) { vector[cont]=matriz[i][j]; //gotoxy(c,f);printf("%d",vector[cont]); cont=cont+1; //f=f+2; } else { vector2[cont1]=matriz[i][j]; // gotoxy(c1,f1);printf("%d",vector2[cont1]); 26
  • 27. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 cont1=cont1+1; //f1=f1+1; } } } c2=25; f2=12; for(i=1;i<cont;i++) { for(j=1;j<cont;j++) { if(vector[i]<vector[j]) { aux=vector[i]; vector[i]=vector[j]; vector[j]=aux; } } } for(j=1;j<cont;j++) { gotoxy(c2,f2);printf("%d",vector[j]); f2=f2+2; } c2=35; f2=12; 27
  • 28. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 for(i=1;i<cont1;i++) { for(j=1;j<cont1;j++) { if(vector2[i]<vector2[j]) { aux=vector2[i]; vector2[i]=vector2[j]; vector2[j]=aux; } } } for(j=1;j<cont1;j++) { gotoxy(c2,f2);printf("%d",vector2[j]); f2=f2+2; } } void ordenar(int l) { gotoxy(20,5);printf("ORDENAR MATRIZ"); gotoxy(10,8);printf("ING. LA MATRIZ "); c=8; f=12; c2=20; f2=12; 28
  • 29. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { gotoxy(c,f);scanf("%d",&matriz[i][j]); c=c+3; } f=f+2; c=8; } for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { vector[cont]=matriz[i][j]; cont=cont+1; } } for(i=1;i<cont;i++) { for(j=1;j<cont;j++) { if(vector[i]<vector[j]) { aux=vector[i]; vector[i]=vector[j]; 29
  • 30. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 vector[j]=aux; } } } for(j=1;j<cont;j++) { gotoxy(c2,f2);printf("%d",vector[j]); f2=f2+2; } f2=12; for(i=1;i<cont;i++) { for(j=1;j<cont;j++) { if(vector[i]>vector[j]) { aux=vector[i]; vector[i]=vector[j]; vector[j]=aux; } } } for(j=1;j<cont;j++) { gotoxy(c2+6,f2);printf("%d",vector[j]); f2=f2+2; 30
  • 31. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } } void main() { clrscr(); gotoxy(10,5);printf("MENU DE OPCIONES "); gotoxy(10,8);printf("1.-NUMEROS PRIMOS "); gotoxy(10,10);printf("2.-FIBONACCI "); gotoxy(10,12);printf("3.-ELEMENTOS PARES "); gotoxy(10,14);printf("4.-ORDENAR UNA MATRIZ "); gotoxy(10,16);printf("ESCOJA UNA OPCION ");scanf("%d",&op); gotoxy(10,18);printf("Ingrese el limite ");scanf("%d",&l); switch(op) { case 1: clrscr(); primos(l); break; case 3: clrscr(); pares(l); break; case 4: clrscr(); ordenar(l); 31
  • 32. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 break; } getch(); } Funciones en las que usamos Menú En la práctica, muchas veces debemos diseñar programas, que nos permitan elegir la acción o acciones a realizar, es decir haciendo uso de un menú. El cual, no es más ni menos que la aplicación de un selector múltiple. Un switch. EJERCICO 8 //dise¤e un programa utilizando matrices y funciones que me permita //ingresar n elementos en una matriz con datos entre 5 y 35 esxcluyendo‡ // las diagonal principal y secundaria, en donde la diagonal principal // se llena con la serie del fibonaci y la diagonal secundaria con el // factorial de los numeros ascendentes iniciando en 3. recorra la matriz // y guarde los datos de la diagonal principal en las posiciones pares // del vector y los datos de la diagonal secundaria en las posiciones //impares del vector. presente como resulatado el vector de origen y // el mismo vector impreso en forma descendente #include<conio.h> #include<stdio.h> int i,j,m[10][10],c=8,f=10,l,a,b,d,m1[10][10],v[10],e,f1=10,g; void borde() { 32
  • 33. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 for(i=1;i<=25;i++) { gotoxy(1,i);printf("@",i); gotoxy(80,i);printf("@",i); } for(i=1;i<=80;i++) { gotoxy(i,2);printf("@",i); gotoxy(i,25);printf("@",i); } } void ingreso(int l) { a=0; b=1; d=0; for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { if(i==j) { a=b; b=d; d=a+b; m[i][j]=d; 33
  • 34. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(c,f);printf("%d",m[i][j]); //gotoxy(c,f);scanf("%d",&m[i][j]); } else do { gotoxy(c,f);printf(" "); gotoxy(c,f);scanf("%d",&m[i][j]); }while(m[i][j]<5||m[i][j]>35); c=c+3; } c=8; f=f+1; } } void vec(int l) { //g=l-2; for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { if(i==j) { v[e]=m[i][j]; gotoxy(20,f1);printf("%d",v[e]); 34
  • 35. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } f1=f1+1; e=e+1; } } } void main() { int l,op; do { c=8; f=10; clrscr(); borde(); gotoxy(20,3);printf("EXAMEN"); gotoxy(5,4);printf(" INGRESE UN LIMITE ");scanf("%d",&l); ingreso(l); vec(l); gotoxy(10,22);printf("desea continuar 1 y 0m para salir ");scanf("%d",&op); }while(op==1); getch(); } 35
  • 36. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 Funciones en las que usamos Menú En la práctica, muchas veces debemos diseñar programas, que nos permitan elegir la acción o acciones a realizar, es decir haciendo uso de un menú. El cual, no es más ni menos que la aplicación de un selector múltiple. Un switch. Veamos un ejemplo. EJERCICIO 9 //1.-dise¤e un programa que permita generar una matriz cuadratica con //numeros primos //2.-dise¤e un programa que permita generar n elementos en una matriz //cuadratica con la serie de fibonacci //3.- Diseñe un programa que permita ingresar n elementos entre 1 y 32, //recorrer la matriz y guardar los elementos pares en un vector y //los elementos impares en otro vector se presentan los datos ordenados. //4.-dise¤ar un programa que me permita ordenar en forma ascendente los // datos de una matriz #include<stdio.h> #include<conio.h> int i,b,c1,f,op,opc,j,k,l,a,b,n,m,b1,c,r,c2,f2,c3,f1,aux; int matriz1[10][10],vec[10],vec1[10]; void borde() { for(i=1;i<=25;i++) { gotoxy(1,i);printf("@",i); 36
  • 37. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(80,i);printf("@",i); } for(i=1;i<=80;i++) { gotoxy(i,2);printf("@",i); gotoxy(i,25);printf("@",i); } } void primos() { for(i=1;i<=l;i++) { a=0; for(k=1;k<=i;k++) { if(i%k==0) { a=a+1; } } if(a<=2) { gotoxy(c1,f);printf("%d",i); c1=5; f=f+1; } 37
  • 38. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 else { l=l+1; } } } void fibonacci() { a=0; b1=1; c=0; for(j=1;j<=l;j++) { for(k=1;k<=l;k++) { a=b1; b1=c; c=a+b1; matriz1[j][k]=c; gotoxy(c1,f);printf("%d",matriz1[j][k]); c1=c1+8; } c1=5; f=f+1; } } 38
  • 39. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 void numeros() { for(j=1;j<=l;j++) { for(k=1;k<=l;k++) { do { gotoxy(c1,f);printf(" "); gotoxy(c1,f);scanf("%d",&matriz1[j][k]); } while(matriz1[j][k]<1||matriz1[j][k]>32); c1=c1+9; } c1=5; f=f+1; } //pares c2=30; f1=10; a=1; for(j=1;j<=l;j++) { for(k=1;k<=l;k++) { if(matriz1[j][k]%2==0) 39
  • 40. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 { vec[a]=matriz1[j][k]; //gotoxy(c2,f1);printf("%d",vec[a]); a=a+1; f1=f1+1; } } } //impares f2=10; c3=38; b=1; for(j=1;j<=l;j++) { for(k=1;k<=l;k++) { if(matriz1[j][k]%2==1) { vec1[b]=matriz1[j][k]; //gotoxy(c3,f2);printf("%d",vec1[b]); b=b+1; f2=f2+1; } } } 40
  • 41. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 //ordenado for(j=1;j<a;j++) { for(k=1;k<a;k++) { if(vec[j]<vec[k]) { aux=vec[j]; vec[j]=vec[k]; vec[k]=aux; } } } aux=1; f1=10; for(j=1;j<a;j++) { gotoxy(45,f1);printf("%d",vec[j]); f1=f1+1; } //oredenado impares for(j=1;j<b;j++) { for(k=1;k<b;k++) { 41
  • 42. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 if(vec1[j]<vec1[k]) { aux=vec1[j]; vec1[j]=vec1[k]; vec1[k]=aux; } } } aux=1; f1=10; for(j=1;j<b;j++) { gotoxy(55,f1);printf("%d",vec1[j]); f1=f1+1; } } void ordenado() { for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { gotoxy(c1,f);scanf("%d",&matriz1[i][j]); c1=c1+7; } c1=5; 42
  • 43. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 f=f+1; } aux=1; for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { for(m=1;m<=l;m++) { for(n=1;n<=l;n++) { if(matriz1[i][j]<matriz1[m][n]) { aux=matriz1[i][j]; matriz1[i][j]=matriz1[m][n]; matriz1[m][n]=aux; } } } } } for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { gotoxy(c2,f1);printf("%d",matriz1[i][j]); 43
  • 44. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 c2=c2+5; } c2=30; f1=f1+1; } } void main() { do { clrscr(); borde(); c1=5; c2=30; f=10; c3=38; f1=10; f2=10; gotoxy(10,3);printf("MENU DE OPCIONES"); gotoxy(5,5);printf("1.-NUMEROS PRIMOS"); gotoxy(5,7);printf("2.-SERIE DEL FIBONACCI"); gotoxy(5,9);printf("3.-NUMEROS PARES E IMPARES"); gotoxy(5,11);printf("4.-ORDENACION DE UNA MATRIZ"); gotoxy(5,13);printf("5.-SALIR"); gotoxy(5,16);printf("SELECCIONE UNA OPCION ");scanf("%d",&op); clrscr(); 44
  • 45. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 switch(op) { case 1: borde(); gotoxy(10,5);printf("NUMEROS PRIMOS"); gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l); primos(); break; case 2: borde(); gotoxy(10,5);printf("SERIE DEL FIBONACCI"); gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l); fibonacci(); break; case 3: borde(); gotoxy(10,5);printf("NUMEROS PARES E IMPARES"); gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l); gotoxy(5,9);printf("MATRIZ"); gotoxy(43,9);printf("PARES"); gotoxy(51,9);printf("IMPARES"); numeros(); break; case 4: borde(); gotoxy(10,5);printf("ORDENAR UNA MATRIZ"); 45
  • 46. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l); gotoxy(5,8);printf("MATRIZ"); gotoxy(28,8);printf("MATRIZ ORDENADA"); ordenado(); break; case 5: exit(); } gotoxy(5,20);printf("SELCCIONE 1 PARA CONTINUAR Y 0 PARA SALIR ");scanf("%d",&opc); } while(opc==1); getch(); } EJERCICIO 10 //producto algebraico de una matriz cuadratica #include<stdio.h> #include<conio.h> int l,c,c1,c2,f,f1,f2,k,i,j,op,a; int matriz1[10][10],matriz2[10][10],matriz3[10][10]; void borde() { for(i=1;i<=25;i++) { gotoxy(1,i);printf("@",i); 46
  • 47. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 gotoxy(80,i);printf("@",i); } for(i=1;i<=80;i++) { gotoxy(i,2);printf("@",i); gotoxy(i,25);printf("@",i); } } void ingreso() { for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { gotoxy(c,f);scanf("%d",&matriz1[i][j]); c=c+5; } c=5; f=f+1; } for(i=1;i<=l;i++) { for(j=1;j<=l;j++) { gotoxy(c1,f1);scanf("%d",&matriz2[i][j]); c1=c1+5; 47
  • 48. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } c1=25; f1=f1+1; } } void producto() { for(i=0;i<=l;i++) { for(j=0;j<=l;j++) { matriz3[i][j]=0; for(k=0;k<=l;k++) { matriz3[i][j]=matriz3[i][j]+matriz1[i][k]*matriz2[k][j]; } } } for(i=1;i<=l;i++) { for(k=1;k<=l;k++) { gotoxy(c2,f2);printf("%d",matriz3[i][k]); c2=c2+4; } c2=42; 48
  • 49. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 f2=f2+1; } } void main() { do { clrscr(); borde(); c=5; c1=25; c2=42; f=10; f1=10; f2=10; gotoxy(10,3);printf("PRODUCTO ALGEBRAICO DE UNA MATRIZ"); gotoxy(10,5);printf("INGRESE UN LIMITE ");scanf("%d",&l); gotoxy(5,7);printf("MATRIZ1"); gotoxy(25,7);printf("MATRIZ2"); gotoxy(38,7);printf("MATRIZ RESULTANTE"); ingreso(); producto(); gotoxy(8,20);printf("seleccione 1 para continuar y 0 para salir ");scanf("%d",&op); } while(op==1); getch(); 49
  • 50. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 } 50