[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012            UNIVERSIDAD TÉCNICA                    DE AMBATO     FACULT...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012                                          FUNCIONES    Son un grupo de ...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012         sentencias;}Pasos para llamar a una Función    Se evalúan las ...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(80,i);printf("*");}}void tabla(int factor,int l){for(i=1;i<=l;i+...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012   getch();   }                                  FUNCIONES CON VECTORES...
[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);p...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(i=1;i<=l;i++){gotoxy(28,10);printf("ORDENADOS");gotoxy(32,fi2);prin...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(k=1;k<h;k++){if(vector[i]>vector[k]){a=vector[i];vector[i]=vector[k...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(20,5);printf("FUNCION");gotoxy(10,6);printf("Ingrese el limite")...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(i=1;i<=40;i++){gotoxy(1,i);printf("*");gotoxy(80,i);printf("*");}}v...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012vectores(lim);getch();}EJERCICIO 4# include<conio.h># include<stdio.h>i...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(5,f1);printf("%d",vector1[l]);f1=f1+1;}l=l+1;for(i=1;i<=lim;i++)...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(20,f);printf("%d",vector[j]);f=f+1;j=j+1;}}}void main(){clrscr()...
[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 ...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012do{gotoxy(10,f);printf("       ");gotoxy(10,f);scanf("%d",&v[i]);x=v[i]...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012}}    }f=16;for (i=j-1;i>=1;i--){gotoxy(24,14);printf("ORDENADO");gotox...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012  {  clrscr();  gotoxy(20,5);printf("FUNCION");  gotoxy(10,10);printf("...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012void borde(){for(i=1;i<=80;i++){    gotoxy(i,1);printf("*",i);    gotox...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012do{gotoxy(25,f1);printf(" ");gotoxy(25,f1);scanf("%d",&vec2[i]);}while(...
[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++...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012f1=f1+1;m[j]=vec1[i]*vec2[i];gotoxy(35,f2);printf("%d",m[j]);j=j+1;f2=f...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012{clrscr();f=12;f1=12;f2=12;borde();gotoxy(20,10);printf("INGRESE UN LIM...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012    case 3:    clrscr();    multiplicacion();    break;    case 4:    c...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012        Veamos un ejemplo.EJERCICIO 7// Realice un programa que me perm...
[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...
[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...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012cont1=cont1+1;//f1=f1+1;}}}c2=25;f2=12;for(i=1;i<cont;i++){for(j=1;j<co...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012    for(i=1;i<cont1;i++)    {    for(j=1;j<cont1;j++)    {    if(vector...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(i=1;i<=l;i++){for(j=1;j<=l;j++){gotoxy(c,f);scanf("%d",&matriz[i][j...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012vector[j]=aux;}}}for(j=1;j<cont;j++){gotoxy(c2,f2);printf("%d",vector[j...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012    }    }void main(){clrscr();gotoxy(10,5);printf("MENU DE OPCIONES ")...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012   break;   }  getch();  }Funciones en las que usamos Menú       En la ...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(i=1;i<=25;i++){gotoxy(1,i);printf("@",i);gotoxy(80,i);printf("@",i)...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(c,f);printf("%d",m[i][j]);//gotoxy(c,f);scanf("%d",&m[i][j]);}el...
[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();got...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012Funciones en las que usamos Menú      En la práctica, muchas veces debe...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(80,i);printf("@",i);}for(i=1;i<=80;i++){gotoxy(i,2);printf("@",i...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012else{l=l+1;}}}void fibonacci(){a=0;b1=1;c=0;for(j=1;j<=l;j++){for(k=1;k...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012void numeros(){for(j=1;j<=l;j++){for(k=1;k<=l;k++){do{gotoxy(c1,f);prin...
[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...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012//ordenadofor(j=1;j<a;j++){for(k=1;k<a;k++){if(vec[j]<vec[k]){aux=vec[j...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012if(vec1[j]<vec1[k]){aux=vec1[j];vec1[j]=vec1[k];vec1[k]=aux;}}}aux=1;f1...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012f=f+1;}aux=1;for(i=1;i<=l;i++){for(j=1;j<=l;j++){for(m=1;m<=l;m++){for(...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012c2=c2+5;}c2=30;f1=f1+1;}}void main(){do{clrscr();borde();c1=5;c2=30;f=1...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012switch(op){case 1:borde();gotoxy(10,5);printf("NUMEROS PRIMOS");gotoxy(...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(5,7);printf("INGRESE UN LIMITE ");scanf("%d",&l);gotoxy(5,8);pri...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(80,i);printf("@",i);}for(i=1;i<=80;i++){gotoxy(i,2);printf("@",i...
[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++){ma...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012f2=f2+1;}}void main(){do{clrscr();borde();c=5;c1=25;c2=42;f=10;f1=10;f2...
[UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012}                     50
Upcoming SlideShare
Loading in...5
×

Funcione con vectores y matrices en c

4,659

Published on

FUNCIONES CON VECTORE

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,659
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
79
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Funcione con vectores y matrices en c"

  1. 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 IIALUMNA: PAULINA GUATAPISEMESTRE: TERCERO AMBATO - ECUADOR 2012 1
  2. 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”. VariablesLas variables se pueden clasificar de acuerdo a su tipo de dato. Por ejemplo, una variable puedeser de tipo entero (int) o de tipo carácter (char). Sin embargo, las variables también puedenclasificarse de acuerdo a su ámbito, es decir, la parte del programa en la que la variable esreconocida. 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 variableque declaremos dentro de una función, es local a esa función, es decir, su ámbito estaconfinado a dicha función. Esta situación permite que existan variables con el mismo nombreen 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. 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. 4. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(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. 5. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012 getch(); } FUNCIONES CON VECTORESUn vector, solo puede ser argumento formal, es decir; por el momento, no podemosenviarlo como valor de retorno., digo por el momento por que cuando hablemos depunteros, 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. 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. 7. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(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. 8. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(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. 9. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(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. 10. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(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. 11. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012vectores(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. 12. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(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;}elseif(j%2==1){vector[j]=vector2[i]; 12
  13. 13. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(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. 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. 15. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012do{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. 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. 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. 18. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012void 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. 19. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012do{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. 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. 21. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012f1=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. 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. 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 MATRICESLas matrices se declaran de forma análoga, con corchetes independientes para cadasubí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. 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>inti,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. 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. 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. 27. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012cont1=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. 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. 29. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(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. 30. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012vector[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. 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. 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. 33. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012for(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. 34. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(c,f);printf("%d",m[i][j]);//gotoxy(c,f);scanf("%d",&m[i][j]);}elsedo{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. 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. 36. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012Funciones 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. 37. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(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. 38. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012else{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. 39. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012void 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;}//paresc2=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. 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;}}}//imparesf2=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. 41. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012//ordenadofor(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 imparesfor(j=1;j<b;j++){for(k=1;k<b;k++){ 41
  42. 42. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012if(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. 43. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012f=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. 44. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012c2=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. 45. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012switch(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. 46. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(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. 47. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012gotoxy(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. 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. 49. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012f2=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. 50. [UNIVERSIDAD TECNICA DE AMBATO] 13 de enero de 2012} 50

×