Page 1

PROGRAMACIÓN II

NOMBRE: LILIANA QUISHPE SEMESTRE: TERCERO INFORMÁTICA DOCENTE: ING.MSC. WILMA GAVILANES

1


PROGRAMACIÓN II

MATRIZ -------------------------------------------------------------------------------------------- 3 FORMA DE ACCESO -----------------------------------------------------------------------------------4

MATRIZ TRANSPUESTA ---------------------------------------------------------------------- 4 ATENDIENDO A LA FORMA ------------------------------------------------------------------------5 ATENDIENDO A LOS ELEMENTOS --------------------------------------------------------------6

ARREGLOS BIDIMENSIONALES (MATRICES) ----------------------------------------- 6 Declaración: ------------------------------------------------------------------------------------------------6 Declara una matriz de 3 filas por 4 columnas: -----------------------------------------------------6 Declaración e iniciación: ---------------------------------------------------------------------------------7 EJEMPLO: -------------------------------------------------------------------------------------------------7

VECTORES ---------------------------------------------------------------------------------------- 7 Ejemplos: int iVec[10]; -----------------------------------------------------------------------------------8 Acceso a elementos ----------------------------------------------------------------------------------------8

ELEMENTO II------------------------------------------------- ¡Error! Marcador no definido. PROGRAMAS UTILIZANDO MATRICES Y VECTORES -----------------------------------9 Análisis-------------------------------------------------------------------------------------------------------9 ESTRUCTURA DEL PROGRAMA ------------------------------------------------------------------9 CORRIDO DEL PROGRAMA ---------------------------------------------------------------------- 11

BIBLIOGRAFIA --------------------------------------------------------------------66

2


PROGRAMACIÓN II

MATRIZ Una matriz (array ó vector) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. En C/C++ los conjuntos ordenados de elementos del mismo tipo se denomina matrices (arreglos), la idea aparece en otros lenguajes bajo distintos nombres. Las matrices C++ se consideran tipos complejos (2.2), y se alojan en zonas de memoria contiguas, aunque tendremos ocasión de ver (4.3.6) que C++ permite definir unas seudo-matrices que en realidad no se almacenan de esta forma. Una matriz es un vector de vectores o un también llamado array bidimensional. La manera de declarar una matriz es c++ es similar a un vector: int matriz[fils][cols]; Int.-es el tipo de dato, matriz es el nombre del todo el conjunto de datos y debo de especificar el numero de filas y columnas. Las matrices también pueden ser de distintos tipos de datos como char, float, double,etc. Las matrices en c++ se almacenan al igual que los vectores en posiciones consecutivas de memoria. Usualmente uno se hace la idea que una matriz es como un tablero. Pero internamente el manejo es como su definición lo indica, un vector de vectores, es decir, los vectores están uno detrás de los otros juntos. La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2 subíndices que van en los corchetes. Si Coloco int matriz [2][3]=10; //estoy asignando al cuarto elemento de la tercera fila el valor 10. No olvidar que tanto filas como columnas se enumeran a partir de 0. Bueno y para recorrer una matriz podemos usar igualmente un bucle. En este caso 2 for for(int i=0;i<fils;i++)

3


PROGRAMACIÓN II { for(int j=0;j<cols;j++) { matriz[i][j] = i % j; } }

FORMA DE ACCESO La forma de acceder a los elementos de la matriz es directa; esto significa que el elemento deseado es obtenido a partir de su índice y no hay que ir buscándolo elemento por elemento (en contraposición, en el caso de una lista, para llegar, por ejemplo, al tercer elemento hay que acceder a los dos anteriores o almacenar un apuntador o puntero que permita acceder de manera rápida a ese elemento). Para trabajar con vectores muchas veces es preciso recorrerlos. Esto se realiza por medio de bucles. El siguiente pseudocódigo muestra un algoritmo típico para recorrer un vector y aplicar una función ' ' a cada una de las componentes del vector:

MATRIZ TRANSPUESTA Una matriz esta compuesta de filas(reng) y columnas(col), la matriz transpuesta es una matriz que cambia las columnas por las filas.

4


PROGRAMACIÓN II

ATENDIENDO A LA FORMA Matriz fila: Es una matriz que solo tiene una fila, es decir m =1 y por tanto es de orden 1×n. Matriz columna: Es una matriz que solo tiene una columna, es decir, n =1 y por tanto es de orden m ×1. Matriz cuadrada: Es aquella que tiene el mismo número de filas que de columnas, es decir m = n. En Estos casos se dice que la matriz cuadrada es de orden n, y no n × n. Los elementos aij con i = j, o sea ahí forman la llamada diagonal principal de la matriz cuadrada, y los Elementos aij con i + j = n +1 la diagonal secundaria. Matriz traspuesta: Dada una matriz A, se llama traspuesta de A, y se representa por At, a la matriz que se Obtiene cambiando filas por columnas. La primera fila de A es la primera fila de At, la segunda fila de A es La segunda columna de At, etc. De la definición se deduce que si A es de orden m ´ n, entonces At es de orden n × m. Matriz simétrica: Una matriz cuadrada A es simétrica si A = At, es decir, si aij = aji ∀ i, j. Matriz anti simétrica: Una matriz cuadrada es antisimétrica si A = –At, es decir, si aij = –aji ∀ i, j.

5


PROGRAMACIÓN II

ATENDIENDO A LOS ELEMENTOS Matriz nula es aquella que todos sus elementos son 0 y se representa por 0. Matriz diagonal: Es una matriz cuadrada, en la que todos los elementos no pertenecientes a la diagonal Principal son nulos. Matriz escalar: Es una matriz diagonal con todos los elementos de la diagonal iguales. Representación matricial de un s.e.l. El anterior sistema se puede expresar en forma matricial, usando el producto de matrices de la forma:

ARREGLOS BIDIMENSIONALES (MATRICES) Es un arreglo de dos dimensiones. Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada elemento se puede trabajar individualmente y se puede referenciar con un mismo nombre. Se usan para representar datos que pueden verse como una tabla con filas y columnas.

 Declaración: Tipo_dato nombre_matriz [índice fila] [índice columna] 

Uso:

Nombre_matriz [subíndice1] [subíndice2] int matriz [2][2] char mapa [100][100] int certamen [60][4]

 Declara una matriz de 3 filas por 4 columnas: int matriz [3][4];

6


PROGRAMACIÓN II  Declaración e iniciación: int matriz [2][2]={1,2,3,4} 1

2

Para referenciar un elemento de la matriz, debe darse un nombre de la matriz y el índice de la fila y de la columna que el elemento ocupa en dicha matriz. Es importante que los índices de las matrices tanto de las filas como de las columnas empiezan en 0 y terminan en tamaño fila-1 y tamaño columna-1 respectivamente. A las matrices se le asignan automáticamente valores iniciales predeterminados a cada uno de sus elementos, de acuerdo a los siguientes criterios: 

Si el tipo del arreglo es numérico, a sus elementos se les asigna el valor cero.

Si el tipo del arreglo es char, a sus elementos se les asigna el valor ‘\u0000′.

Si el tipo del arreglo es bool, a sus elementos se les asigna el valor false.

Si el tipo del arreglo es una clase, a sus elementos se les asigna el valor null.

EJEMPLO: #include <stdio.h> int main() { int fila, columna; int matriz[2][2]; for(fila=0; fila<2; fila++) for(columna=0; columna<2; columna++) printf(“%d”, matriz[fila][columna]); return 0; }

VECTORES Un vector es un conjunto de datos del mismo tipo que se identifican bajo un mismo nombre. Para acceder a un elemento específico se utiliza un índice (o posición).

7


PROGRAMACIÓN II En C, todos los vectores están constituidos por posiciones de memoria contiguas. Los vectores pueden tener una o varias dimensiones. El formato general de la declaración es: Tipo Nombre[Tamaño];

Ejemplos: int iVec[10]; int iVec[20]={0}; //Todos los elementos se inicializan al valor 0; int iVec[5]={5,7,8,9,1}; //Se pueden inicializar cada uno de los elementos

En todos los vectores el índice del primer elemento siempre es 0 por lo tanto, cuando se declara int iVec[5] se está declarando un vector que tiene 5 elementos, desde iVec[0] hasta iVec[9]

Acceso a elementos Para acceder a un elemento en concreto se debe utilizar el nombre del vector y entre corchetes especificar la posición de la celda. iVec[0]=3 ; // Asignar el valor 3 al primer elemento

8


PROGRAMACIÓN II

ELEMENTO 2 PROGRAMAS UTILIZANDO MATRICES Y VECTORES 1.- Diseñe un programa que me permita leer una cadena de caracteres y encontrar todas aquellas que sean vocales y pasarlas a un nuevo vector en forma ordenada.

ANÁLISIS Para realizar este programa debemos declarar las librerías principales como son: #include <conio.h> y # include<stdio.h>, luego inicializamos el programa con void main(), luego declaramos las variables que sean necesarias para realizar, en este caso, vamos a utilizar variables globales para números enteros y para cadenas de caracteres variable tipo chair la y luego hacemos un blanqueo de pantalla utilizando clrscr(); después declaramos la posición de filas y columnas para realizar el programa, luego realizamos una función para el borde para que de mas realce al programa, luego declaramos la instrucción gotoxy ya que este nos permite posesionarnos en pantalla; utilizamos también printf y scanf ya que estas variables nos permiten la entrada y salida de datos; para poder visualizar las el nombre que deseemos poner en la cadena ya que solo vamos a ingresar datos de tipo chair solo para cadenas,

en este programa

utilizamos un “%c” porque este nos permite ver la cadena que estamos realizando y esta instrucción solo se utiliza para cadenas de caracteres, luego damos una estructura al programa declarando una opción que diga Continuar 1 y Finalizar 0 y por ultimo declaramos getch(); ya este instrucción nos permite que el programa que estamos ejecutando pare y por ultimo cerramos llaves ya que esta pequeña instrucción es muy importante para que el programa se ejecute; para poder ejecutar el programa debemos compilar presionando las teclas ALT + F9 .

ESTRUCTURA DEL PROGRAMA

9


PROGRAMACIÓN II #include<stdio.h> #include<conio.h> int limite,i,fila,op; char nombre[15]; void main()

LIBRERIAS PRINCIPALES

VARIABLESDE TIPO ENTERAS Y VARIABLES TIPO CARÁCTER INICIO DEL PRGRAMA

{ do INICIO DEL DO { clrscr(); fila=8; for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); FUNCION DEL BORDE } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } gotoxy(20,2);printf("* **MANEJO DE CADENAS*** "); gotoxy(7,3);printf(" ingrese una cadena : "); flushall(); gets(nombre); limite=strlen(nombre); for(i=0;i<limite;i++) { gotoxy(21,fila);printf("%c",nombre[i]); fila=fila+1; } fila=7; for(i=limite;i>=0;i--) { gotoxy(25,fila);printf("%c",nombre[i]); fila=fila+1; }

10

PROCESO DEL PROGRAMA


PROGRAMACIÓN II gotoxy(25,20);printf("Continuar 1o Finalizar 0 ==> ");scanf("%d",&op); } while(op==1); FINALIZACION DEL PROGRAMA getch(); } CORRIDO DEL PROGRAMA

11


PROGRAMACIÓN II 2.- Diseñe un programa que me permita leer una cadena de caracteres y encontrar todas aquellas que sean consonantes y pasarlas a un nuevo vector en forma ordenada.

ANÁLISIS Para realizar este programa debemos declarar las librerías principales como son: #include <conio.h>, # include<stdio.h>,#include<string.h> luego declaramos las variables que sean necesarias para realizar, en este caso, vamos a utilizar variables globales para números enteros y para cadenas de caracteres variable tipo chair luego inicializamos el programa con void main(), la y luego hacemos un blanqueo de pantalla utilizando clrscr(); después declaramos la posición de filas y columnas para realizar el programa, luego realizamos una función para el borde para que de mas realce al programa, luego declaramos la

instrucción gotoxy ya que este nos permite

posesionarnos en pantalla; utilizamos también printf y scanf ya que estas variables nos permiten la entrada y salida de datos; para poder visualizar las el nombre que deseemos poner en la cadena ya que solo vamos a ingresar datos de tipo chair solo para cadenas, en este programa utilizamos un “%c” porque este nos permite ver la cadena que estamos realizando y esta instrucción solo se utiliza para cadenas de caracteres, luego le guaradmos la matriz en un nuevo vector para poder visualizar en pantalla la cadena, luego damos una estructura al programa declarando una opción que diga Continuar 1 y Finalizar 0 y por ultimo declaramos getch(); ya este instrucción nos permite que el programa que estamos ejecutando pare y por ultimo cerramos llaves ya que esta pequeña instrucción es muy importante para que el programa se ejecute; para poder ejecutar el programa debemos compilar presionando las teclas ALT + F9 .

ESTRUCTURA DEL PROGRAMA #include<stdio.h> #include<conio.h> #include<string.h>

LIBRERIAS PRINCIPALES

int cadena,i,fil,col,contador,aux,h,j,op; char vector1[20],vector2[20]; void main() { do

VARIABLES ENTERAS Y DE CARÁCTER

INICIO DEL PROGRAMA Y DEL DO

12


PROGRAMACIÓN II { FUNCIÓN DO Y BLANQUEO clrscr(); DE PANTALLA fil=8; j=0; for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); FUNCION DEL BORDE } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } gotoxy(20,2),printf("***CONTAR LAS CONSONANTES***"); gotoxy(20,5),printf("Ingrese una cadena : "); flushall(); gets(vector1); cadena=strlen(vector1); PROCESO DEL for(i=0;i<cadena;i++) PROGRAMA { if(vector1[i]!='a'&&vector1[i]!='e'&&vector1[i]!='i'&&vector1[i]!='o'&&v ector1[i]!='u') { vector2[j]=vector1[i]; j=j+1; } } fil=8; for(i=0;i<j;i++) { gotoxy(19,fil);printf("%c", vector2[i]); PROCESO DEL fil=fil+1; VECTOR 2 }

for(i=0;i<j;i++) { for(h=0;h<j;h++) {

LIMITE DE POSICIÓN

13


PROGRAMACIÓN II if(vector2[i]<vector2[h]) { aux=vector2[i]; vector2[i]=vector2[h]; vector2[h]=aux; } } } IMPRESIÓN DEL fil=8; VECTOR 2 for(i=0;i<j;i++) { gotoxy(24,fil);printf("%c", vector2[i]); fil=fil+1; } gotoxy(25,20);printf(" Continuar1 o Finalizar ==> " );scanf("%d",&op); } while(op==1); TERMINACIÓN DEL getch(); PROGRAMA } CORRIDO DEL PROGRAMA

14


PROGRAMACIÓN II 3.- Diseñe un programa utilizando funciones que me permita diseñar un menu de opciones con las siguientes alternativas.

ANÁLISIS Para realizar este programa debemos declarar las librerías principales como son: #include <conio.h>, # include<stdio.h>,#include<string.h> luego declaramos las variables que sean necesarias para realizar, en este caso, vamos a utilizar variables globales para números enteros y para cadenas de caracteres variable tipo chair luego inicializamos el programa con void main(), la y luego hacemos un blanqueo de pantalla utilizando clrscr(); después declaramos la posición de filas y columnas para realizar el programa, luego realizamos una función para el borde para que de mas realce al programa, luego declaramos la

instrucción gotoxy ya que este nos permite

posesionarnos en pantalla; utilizamos también printf y scanf ya que estas variables nos permiten la entrada y salida de datos; para poder visualizar las el nombre que deseemos poner en la cadena ya que solo vamos a ingresar datos de tipo chair solo para cadenas, en este programa utilizamos un “%c” porque este nos permite ver la cadena que estamos realizando y esta instrucción solo se utiliza para cadenas de caracteres,luego hacemos de utilizar la sentencia swuitch ya que esta sentencia nos permite realizar un menú de opciones , luego damos una estructura al programa declarando una opción que diga Continuar 1 y Finalizar 0 y por ultimo declaramos getch(); ya este instrucción nos permite que el programa que estamos ejecutando pare y por ultimo cerramos llaves ya que esta pequeña instrucción es muy importante para que el programa se ejecute; para poder ejecutar el programa debemos compilar presionando las teclas ALT + F9 .

ESTRUCTURA DEL PROGRAMA 1) Cadenas con vocales. 2) Cadenas con consonantes. 3) Salir.

#include <stdio.h> #include <conio.h> int cadena,i,fil,col,aux,h,j,op; char vector1[20],vector2[20];

LIBRERIAS PRINCIPALES Y VARIABLES TIPO CHAR Y ENTERAS

15


PROGRAMACIĂ&#x201C;N II void borde() { int i,j; for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } }

FUNCION DEL BORDE

void vocales() { clrscr(); borde(); fil=8; j=0; gotoxy(20,2),printf("***CONTAR VOCALES***"); MENSAJES DEL gotoxy(20,5),printf("Ingrese una cadena : "); PROGRAMA flushall(); gets(vector1); cadena=strlen(vector1); for(i=0;i<cadena;i++) { if(vector1[i]=='a') { vector2[j]=vector1[i]; j=j+1; FUNCION DE LAS } VOCALES if(vector1[i]=='e') { vector2[j]=vector1[i]; j=j+1; } if(vector1[i]=='i') { vector2[j]=vector1[i];

16


PROGRAMACIĂ&#x201C;N II j=j+1; } if(vector1[i]=='o') { vector2[j]=vector1[i]; j=j+1; } if(vector1[i]=='u') { vector2[j]=vector1[i]; j=j+1; } } fil=8; for(i=0;i<j;i++) { gotoxy(19,fil);printf("%c", vector2[i]); fil=fil+1; } for(i=0;i<j;i++) { for(h=0;h<j;h++) { if(vector2[i]<vector2[h]) { aux=vector2[i]; vector2[i]=vector2[h]; vector2[h]=aux; } } } fil=8; for(i=0;i<j;i++) { gotoxy(24,fil);printf("%c", vector2[i]); fil=fil+1; } }

17

FUNCION DE LAS VOCALES

MATRIZ PASADA A OTRO VECTOR


PROGRAMACIĂ&#x201C;N II void consonantes() { clrscr(); LLAMAMIENTO A LAS borde(); FUNCIONES fil=8; j=0; gotoxy(20,2),printf("***CONTAR LAS CONSONANTES***"); gotoxy(20,5),printf("Ingrese una cadena : "); flushall(); gets(vector1);

MENSAJE DEL PROGRAMA

cadena=strlen(vector1); for(i=0;i<cadena;i++) { if(vector1[i]!='a'&&vector1[i]!='e'&&vector1[i]!='i'&&vector1[i]!='o'&&v ector1[i]!='u') { vector2[j]=vector1[i]; j=j+1; } } fil=8; for(i=0;i<j;i++) { FUNCION DE LAS gotoxy(19,fil);printf("%c", vector2[i]); CONSONANTES fil=fil+1; } for(i=0;i<j;i++) { for(h=0;h<j;h++) { if(vector2[i]<vector2[h]) { aux=vector2[i]; vector2[i]=vector2[h]; vector2[h]=aux; } } } fil=8; for(i=0;i<j;i++) {

18


PROGRAMACIÓN II gotoxy(24,fil);printf("%c", vector2[i]); fil=fil+1; } } void main() INICIO DEL PROGRAMA Y { DEL DO do { clrscr(); borde(); textcolor(3); gotoxy(10,3);printf("***MENÚ DE CADENAS ***"); gotoxy(17,4); printf("1.-CADENA DE VOCALES "); gotoxy(17,5); printf("2.-CADENA DE CONSONANTES "); gotoxy(17,6); printf("3.-SALIR "); gotoxy(15,9); printf("Ingrese la opcion que desea ==> ");scanf("%d",&op); switch(op) { case 1: { vocales(); } break; case 2: { consonantes(); } PROCESO DEL SWITCH break; case 3: { exit(); } break;

19

OPCIONES PARA ESCOGER DEL PROGRAMA


PROGRAMACIÓN II } gotoxy(30,20);printf("Continuar 1o Finalizar ==> ");scanf("%d",&op); } while(op==1); CIERRE DEL DO getch(); } CORRIDO DEL PROGRAMA

20


PROGRAMACIÓN II 4.- Diseñe un programa que me permita ingresar n elementos en una matriz cuadrática entre 3 y 35, presente la matriz resultante.

ANÁLISIS Para realizar este programa debemos declarar las librerías principales como son: #include <conio.h>, # include<stdio.h>,#include<string.h> luego declaramos las variables que sean necesarias para realizar, en este caso, vamos a utilizar variables globales para números enteros y para cadenas de caracteres variable tipo chair luego inicializamos el programa con void main(), la y luego hacemos un blanqueo de pantalla utilizando clrscr(); después declaramos la posición de filas y columnas para realizar el programa, luego realizamos una función para el borde para que de mas realce al programa, luego declaramos la

instrucción gotoxy ya que este nos permite

posesionarnos en pantalla; utilizamos también printf y scanf ya que estas variables nos permiten la entrada y salida de datos; para poder visualizar las el nombre que deseemos poner en la cadena ya que solo vamos a ingresar datos de tipo chair solo para cadenas, en este programa utilizamos un “%c” porque este nos permite ver la cadena que estamos realizando y esta instrucción solo se utiliza para cadenas de caracteres,luego hacemos de utilizar la sentencia swuitch ya que esta sentencia nos permite realizar un menú de opciones , luego damos una estructura al programa declarando una opción que diga Continuar 1 y Finalizar 0 y por ultimo declaramos getch(); ya este instrucción nos permite que el programa que estamos ejecutando pare y por ultimo cerramos llaves ya que esta pequeña instrucción es muy importante para que el programa se ejecute; para poder ejecutar el programa debemos compilar presionando las teclas ALT + F9 .

ESTRUCTURA DEL PROGRAMA # include<stdio.h> LIBRERIAS PRINCIPALES Y VARIABLES DE TIPO ENTERO0

# include<conio.h> int i,j,op,col,fila,limt,matriz[10][10];

void borde() { for(i=1;i<=80;i++) {

21


PROGRAMACIÓN II gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { FUNCION DEL gotoxy(1,i);printf("*"); BORDE gotoxy(80,i);printf("*"); } } void ingresar (int limite) { fila=10; col=10; gotoxy(5,7);printf("²MATRIZ DE INGRESO²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { do { gotoxy(col,fila);printf(" "); gotoxy(col,fila);scanf("%d",&matriz[i][j]); } while(matriz[i][j]<3 || matriz[i][j]>35); col=col+5; } fila=fila+1; col=10; } } void visualizar (int limite) { fila=10; col=36; gotoxy(30,7);printf("²MATRIZ DE SALIDA²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { gotoxy(col,fila);printf("%d",matriz[i][j]); col=col+5; }

22

FUNCION DEL INGRESO

FUNCION VISUALIZAR


PROGRAMACIÓN II col=36; fila=fila+1; } }

void main () INICIO DEL PROGRAMA Y { DEL DO do { clrscr(); borde(); gotoxy(25,2);printf(" ***MATRICES***"); gotoxy(22,4);printf("Ingresar el limite = ");scanf("%d",&limt); ingresar(limt); visualizar(limt); gotoxy(25,20);printf("² Desea continuar [1] o [0] para finalizar ² = ");scanf("%d",&op); } while(op==1); CIERRE DEL DO Y FINALIZACIÓN DEL PROGRAMA

getch(); } CORRIDO DEL PROGRAMA

23

MENSAJES DEL PROGRAMA


PROGRAMACIÓN II 5.- Diseñe un programa utilizando matrices y funciones que me permita generar un matriz de cualquier orden con cualquier factor ingresado desde teclado. ANÁLISIS Para realizar este programa debemos declarar las librerías principales como son: #include <conio.h>, # include<stdio.h>,#include<string.h> luego declaramos las variables que sean necesarias para realizar, en este caso, vamos a utilizar variables globales para números enteros y para cadenas de caracteres variable tipo chair luego inicializamos el programa con void main(), la y luego hacemos un blanqueo de pantalla utilizando clrscr(); después declaramos la posición de filas y columnas para realizar el programa, luego realizamos una función para el borde para que de mas realce al programa, luego declaramos la

instrucción gotoxy ya que este nos permite

posesionarnos en pantalla; utilizamos también printf y scanf ya que estas variables nos permiten la entrada y salida de datos; para poder visualizar las el nombre que deseemos poner en la cadena ya que solo vamos a ingresar datos de tipo chair solo para cadenas, en este programa utilizamos un “%c” porque este nos permite ver la cadena que estamos realizando y esta instrucción solo se utiliza para cadenas de caracteres,luego hacemos de utilizar la sentencia swuitch ya que esta sentencia nos permite realizar un menú de opciones , luego damos una estructura al programa declarando una opción que diga Continuar 1 y Finalizar 0 y por ultimo declaramos getch(); ya este instrucción nos permite que el programa que estamos ejecutando pare y por ultimo cerramos llaves ya que esta pequeña instrucción es muy importante para que el programa se ejecute; para poder ejecutar el programa debemos compilar presionando las teclas ALT + F9 .

ESTRUCTURA DEL PROGRAMA # include<stdio.h> # include<conio.h> int cot,fact,i,j,op,col,fila,limt,matriz[10][10]; void borde() { for(i=1;i<=80;i++) {

24

LIBRERIAS PRINCIPALES Y VARIABLES ENTERAS


PROGRAMACIÓN II gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); FUNCIÓN DEL BORDE } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void ingresar (int limite, int factor) { fila=10; col=5; cot=0; gotoxy(8,8);printf("²MATRIZ DE INGRESO²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { cot=cot+1; matriz[i][j]=factor*cot;

VOID INGRESO DE LA MATRIZ

gotoxy(col,fila);printf("%d",matriz[i][j]); col=col+4; } fila=fila+1; col=5; } } void visualizar (int limite) { fila=10; col=38; gotoxy(35,8);printf("²MATRIZ DE SALIDA²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { gotoxy(col,fila);printf("%d",matriz[i][j]);

25

FUNCION VISUALIZAR MATRIZ


PROGRAMACIÓN II col=col+4; } fila=fila+1; col=38; } } void main () INICIO DEL PROGRAMA Y DEL DO { do { clrscr(); borde(); textcolor(3); gotoxy(17,2);printf(" ***MATRIZ DE CUALQUIER FACTOR INGRESADO***"); gotoxy(22,4);printf("Ingresar el limite = ");scanf("%d",&limt); gotoxy(22,6);printf("Ingresar el factor = ");scanf("%d",&fact); ingresar(limt,fact); visualizar(limt); gotoxy(25,20);printf("² Desea continuar [1] o [0] para finalizar ² = ");scanf("%d",&op); } while(op==1); CIERE DEL DO

getch(); } CORRIDO DEL PROGRAMA

26


PROGRAMACIÓN II 6.- Diseñe un programa que me permita llenar una matriz de cualquier orden con valores pares. ANÁLISIS Para realizar este programa debemos declarar las librerías principales como son: #include <conio.h>, # include<stdio.h>,#include<string.h> luego declaramos las variables que sean necesarias para realizar, en este caso, vamos a utilizar variables globales para números enteros y para cadenas de caracteres variable tipo chair luego inicializamos el programa con void main(), la y luego hacemos un blanqueo de pantalla utilizando clrscr(); después declaramos la posición de filas y columnas para realizar el programa, luego realizamos una función para el borde para que de mas realce al programa, luego declaramos la

instrucción gotoxy ya que este nos permite

posesionarnos en pantalla; utilizamos también printf y scanf ya que estas variables nos permiten la entrada y salida de datos; para poder visualizar las el nombre que deseemos poner en la cadena ya que solo vamos a ingresar datos de tipo chair solo para cadenas, en este programa utilizamos un “%c” porque este nos permite ver la cadena que estamos realizando y esta instrucción solo se utiliza para cadenas de caracteres,luego hacemos de utilizar la sentencia swuitch ya que esta sentencia nos permite realizar un menú de opciones , luego damos una estructura al programa declarando una opción que diga Continuar 1 y Finalizar 0 y por ultimo declaramos getch(); ya este instrucción nos permite que el programa que estamos ejecutando pare y por ultimo cerramos llaves ya que esta pequeña instrucción es muy importante para que el programa se ejecute; para poder ejecutar el programa debemos compilar presionando las teclas ALT + F9 .

ESTRUCTURA DEL PROGRAMA # include<stdio.h> # include<conio.h> int i,j,op,col,fila,par,limt,matriz[10][10]; void borde() { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*");

LIBRERIAS PRINCIPALES Y VARIABLES DE TIPO ENTERO

FUNCION DEL BORDE

27


PROGRAMACIÓN II } for(i=1;i<=24;i++) FUNCION DEL BORDE { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void ingresar (int limite) { fila=10; col=10; par=0; gotoxy(11,7);printf("²MATRIZ DE INGRESO²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { par=par+2; matriz[i][j]=par; gotoxy(col,fila);printf("%d",matriz[i][j]);

FUNCION DE LA MATRIZ

col=col+5; } fila=fila+1; col=10; } } void visualizar (int limite) { fila=10; col=42; gotoxy(43,7);printf("²MATRIZ DE SALIDA²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { gotoxy(col,fila);printf("%d",matriz[i][j]); col=col+5; } col=42; fila=fila+1;

28

FUNCION VISUALIZAR


PROGRAMACIÓN II } }

void main () { INICIO DEL PROGRAMA Y DEL DO do { clrscr(); borde(); textcolor(3); gotoxy(17,2);printf(" ***MATRICES DE CUALQUIER ORDEN CON VALOR PARES***"); gotoxy(22,4);printf("Ingresar el limite = ");scanf("%d",&limt); ingresar(limt); visualizar(limt); gotoxy(25,20);printf("² Desea continuar [1] o [0] para finalizar ² = ");scanf("%d",&op); } while(op==1); getch(); }

CIERRE DEL DO

CORRIDO DEL PROGRAMA

29


PROGRAMACIÓN II 7.- Generar una matriz de cualquier orden con valores ceros, a acepción de la diagonal principal, la misma que se llena con valores unos, recorra la matriz y guarde los datos de la diagonal principal en un vector y presente los datos en forma ordenado.

ANÁLISIS Para realizar este programa debemos declarar las librerías principales como son: #include <conio.h>, # include<stdio.h>,#include<string.h> luego declaramos las variables que sean necesarias para realizar, en este caso, vamos a utilizar variables globales para números enteros y para cadenas de caracteres variable tipo chair luego inicializamos el programa con void main(), la y luego hacemos un blanqueo de pantalla utilizando clrscr(); después declaramos la posición de filas y columnas para realizar el programa, luego realizamos una función para el borde para que de mas realce al programa, luego declaramos la

instrucción gotoxy ya que este nos permite

posesionarnos en pantalla; utilizamos también printf y scanf ya que estas variables nos permiten la entrada y salida de datos; para poder visualizar las el nombre que deseemos poner en la cadena ya que solo vamos a ingresar datos de tipo chair solo para cadenas, en este programa utilizamos un “%c” porque este nos permite ver la cadena que estamos realizando y esta instrucción solo se utiliza para cadenas de caracteres,luego hacemos de utilizar la sentencia swuitch ya que esta sentencia nos permite realizar un menú de opciones , luego damos una estructura al programa declarando una opción que diga Continuar 1 y Finalizar 0 y por ultimo declaramos getch(); ya este instrucción nos permite que el programa que estamos ejecutando pare y por ultimo cerramos llaves ya que esta pequeña instrucción es muy importante para que el programa se ejecute; para poder ejecutar el programa debemos compilar presionando las teclas ALT + F9 .

ESTRUCTURA DEL PROGRAMA #include<stdio.h> #include<conio.h> #include<string.h> int i,j,x,col,c,h,fil,limt,limite,op,matriz[15][15];vector[15];

30

LIBRERIAS PRINCIPALES Y VARIABLES ENTERAS


PROGRAMACIÓN II void borde() { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } }

FUNCION DEL BORDE

void ingresar (int limite) { fil=10; col=10; h=1; gotoxy(8,8);printf("²MATRIZ DE INGRESO²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(i==j) { c=1; matriz[i][j]=c; gotoxy(col,fil);printf("%d",matriz[i][j]); col=col+3; } else { c=0; matriz[i][j]=c; gotoxy(col,fil);printf("%d",matriz[i][j]); col=col+3;

} }

31

FUNCION DEL INGRESO


PROGRAMACIÓN II fil=fil+2; col=10; } } void visualizar(int limite) { col=35; fil=10; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(i==j) { vector[h]=matriz[i][j]; h=h+1; gotoxy(35,8);printf("²MATRIZ DIAGONAL PRIV"); gotoxy(col,fil);printf("%d",matriz[i][j]); col=col+3; fil=fil+2;

FUNCION VISUALIZAR

} } } } void ordenar(int limite) { col=65; fil=10; for(i=1;i<h;i++) { gotoxy(col,fil);printf("%d",vector[i]); fil=fil+2; } } void main ( ) { do {

FUNCION ORDENAR

INICIO DEL PROGRAMA Y DEL DO

32


PROGRAMACIÓN II clrscr(); borde();

LLAMAMIENTO DE FUNCIONES

gotoxy(25,2);printf(" ***MATRICES***"); gotoxy(22,4);printf("Ingresar el limite = ");scanf("%d",&limt); ingresar(limt); LLAMAMIENTO DE visualizar(limt); FUNCIONES ordenar(limt); gotoxy(25,20);printf(" Continuar 1 o Finalizar 0 == > ");scanf("%d",&op); } while(op==1); CIERRE DEL DO Y getch(); DEL PROGRAMA }

CORRIDO DEL PROGRAMA

33


PROGRAMACIÓN II 8.- Diseñe un programa utilizando funciones que la una matriz de enteros de n números y n números y que se muestre en pantalla la matriz transpuesta.

ANÁLISIS Para este programa debemos declarar las 2 librerías principales como son;#include <conio.h>,#include<stdio.h> luego iniciamos el programa con declaración de la variables que vayamos a utilizar pueden ser globales, luego hacemos para iniciar el programa con una estructura de control para realizar el margen, luego debemos declara el posicionamiento de filas y columnas, después declaramos una estructura para poder ingresar los datos de una matriz, una ves realizado la entrada de la matriz debemos realizar la entrada principal para utilizar la serie del Fibonacci y el factorial, una vez realizado esta estructura debemos guardarlos en un vector para poder visualizar el factorial y el fibonacci luego, debemos iniciar con el programa principal con void main ( ),luego declaramos variables que sean necesarias utilizando una definición global en este caso el int, ya que nos permite ingresar números enteros, después abrimos un lazo do, que es una Instrucción repetitiva ….mientras la condición sea verdadera, hacemos un blanqueado de pantalla, y realizamos una estructura para poder visualizar cuantas filas y columnas vamos a utilizar, luego abrimos un lazo for el cual nos permite hacer un control, para poder entrar al programa debemos declarar “printf”; para la salida de datos y “scanf”, para tener una posición en la pantalla debemos utilizar la instrucción gotoxy(col,fila), utilizamos el while para serrar la condición del do, y finalmente realizamos un mensaje que diga continuar presione 1 y para finalizar presione 0 cerramos el lazo for para que se repita las veces que sea necesario si deseamos debemos controlar para que el Fibonacci baya controlado de tal numero al que desea

EJECUCIÓN DEL PROGRAMA #include<stdio.h> LIBRERÍAS PRINCIPALES #include<conio.h> #include<math.h> int mat1[10][10],a=1,b=0,c=0; int i,j,fil=0,k=0,l=0,fil2=0,fact=0,cont=0,x=0; VARIABLES DE TIPO ENTERO int f,aux=0,op,lim; void borde ()

34


PROGRAMACIÓN II { clrscr(); for (i=1;i<=80;i++) { gotoxy(i,1); printf("6");

FUNCION BORDE

gotoxy(i,24); printf("6"); } for (i=1;i<=24;i++) { gotoxy(1,i); printf("6"); gotoxy(80,i); printf("6"); }

} } void encero(int m) { for(i=1;i<=m;i++) ENCERADO PARA QUE EMPIEZA EN CERO

{ for(j=1;j<=m;j++) { mat1[i][j] = 0; } } }

35


PROGRAMACIÓN II void Fibonacci(int m) VARIABLES DE LA FIBONACCI

{ a=1; b=0; c=0; for(i=1;i<=m;i++)

TIENE QUE TENER UN FOR Y IF

{ for(j=1;j<=m;j++) { if (i==j) { c=a+b; a=b; b=c; mat1[i][j] = c; }

FORMULAS DE LA FIBONNACI

} } } void diago(int a) { k=(-1+(5*a)); fact = 1;

FORMULA PARA SACAR LA DIAGONAL

fil=4; for(j=1;j<=a;j++) {

36


PROGRAMACIÓN II for(x=1;x<=j;x++) { fact = fact * x; } if (a%2!=0) { if(((a/2)+1)==j) { aux =fact; } else { mat1[j][(a+1)-j] = fact; } } else { mat1[j][(a+1)-j] = fact; } fact=1; k=k-5; fil=fil+2; }

ESTRUCTURA DEL PROGRAMA

} void impresion(int a) { k=4;

FORMULA PARA LA IMPRESION

fil=6; if (a%2==0) { for(i=1;i<=a;i++) { for(j=1;j<=a;j++)

37


PROGRAMACIÓN II { gotoxy(k,f1);printf("%d",mat1[i][j]); k=k+6; } k=3; fil=fil+2; }

ESTRUCTURA DE LA MATRIZ

} else { for(i=1;i<=a;i++) { for(j=1;j<=a;j++) { if((((a/2)+1)==j) && (((a/2)+1)==i)) { gotoxy(t-2,fil);printf("%d / %d",mat1[i][j],aux); } else { gotoxy(t,f1);printf("%d",mat1[i][j]); } k=k+6; } k=3; POSICION DE FILAS fil=fil+2; Y COLUMNAS } } } Void impre2 (int a) { k=(-1+(5*a)) + 16; FÓRMULA PARA LA IMPRESION2

fil=6; if (a%2==0)

38

IMPRIMIR MATRIZ 1


PROGRAMACIĂ&#x201C;N II { for(i=1;i<=a;i++) { LIMITE DE LA MATRIZ for(j=1;j<=a;j++) { if (mat1[i][j]!=0) { gotoxy(t,fil);printf("%d",mat1[i][j]); } k=k+6; } k=(-1+(5*a)) + 16; fil=fil+2; } } else { for(i=1;i<=a;i++) { for(j=1;j<=a;j++) { if(((a/2)+1)==j) { if (mat1[i][j]!=0) { gotoxy(k-2,fil);printf("%d / %d",mat1[i][j],aux); } } else { if (mat1[i][j]!=0) { gotoxy(k,fil);printf("%d",mat1[i][j]); } }

39

ESTRUCTURA DEL FACTORIAL


PROGRAMACIÓN II k=k+6; } k=(-1+(5*a)) + 16; fil=fil+2; } } } void main() { REALIZAMOS LA FUNCION PRINCIPAL EL MAIN

Do textcolor(2); clrscr(); borde(); do { gotoxy(55,8); printf("

");

gotoxy(10,8); printf(" INGRE EL LIMITE: ");scanf("%d",&lim); gotoxy(55,8); scanf("%d",&f); } while (f<1 || f >4); borde(); gotoxy(12,2); printf(" MATRIZ PRINCIP

encero(f); fibonaci(f); diago(f); impresion(f); impre2(f);

DIAGONALPRIN y SECU ");

LLAMAMIENTO DE LAS FUNCIONES

40

MENSAJE PARA INGRESAR EL LIMITE


PROGRAMACIÓN II gotoxy(4,23); printf("CONTINUAR 1 O FINALIZAR 0 ==>"); scanf("%d",&op); }

FIN DEL PROGRAMA

while (op != 0); }

CORRIDO DEL PROGRAMA

41


PROGRAMACIÓN II 9.- Diseñe un programa en c que permita obtener el producto algebraico de dos matrices cuadráticas de n elementos ingresados desde teclado que se encuentren entre 1 y 23 ANÁLISIS Para este programa debemos declarar las 2 librerías principales como son;#include <conio.h>,#include<stdio.h> luego iniciamos el programa con declaración de la variables que vayamos a utilizar pueden ser globales, luego hacemos para iniciar el programa con una estructura de control para realizar el margen, luego debemos declara el posicionamiento de filas y columnas, después declaramos una estructura para poder ingresar los datos de una matriz, una ves realizado la entrada de la matriz debemos realizar la entrada principal para utilizar la serie del Fibonacci y el factorial, una vez realizado esta estructura debemos guardarlos en un vector para poder visualizar el factorial y el fibonacci luego, debemos iniciar con el programa principal con void main ( ),luego declaramos variables que sean necesarias utilizando una definición global en este caso el int, ya que nos permite ingresar números enteros, después abrimos un lazo do, que es una Instrucción repetitiva ….mientras la condición sea verdadera, hacemos un blanqueado de pantalla, y realizamos una estructura para poder visualizar cuantas filas y columnas vamos a utilizar, luego abrimos un lazo for el cual nos permite hacer un control, para poder entrar al programa debemos declarar “printf”; para la salida de datos y “scanf”, para tener una posición en la pantalla debemos utilizar la instrucción gotoxy(col,fila), utilizamos el while para serrar la condición del do, y finalmente realizamos un mensaje que diga continuar presione 1 y para finalizar presione 0 cerramos el lazo for para que se repita las veces que sea necesario si deseamos debemos controlar para que el Fibonacci baya controlado de tal numero al que desea

ESTRUCTURA DEL PROGRAMA #include<stdio.h> #include<conio.h>

LIBRERIAS PRINCIPALES

int li,col1,c,col2,f,fil1,fil2,m,i,j,op; int mat1[10][10],mat2[10][10],mat3[10][10];

42

VARIABLES ENTERAS


PROGRAMACIÓN II

void borde() { for(i=1;i<=24;i++) { gotoxy(1,i);printf("6"); gotoxy(80,i);printf("%"); } for(i=1;i<=80;i++) { gotoxy(i,2);printf("6"); gotoxy(i,24);printf("%"); }

FUNCION DEL BORDE

} void ingreso()

FUNCION DE INGRESO

{ for(i=1;i<=li;i++) {

FUNCIONES DEL FOR CON I YJ

for(j=1;j<=li;j++) { do

INICIO DEL DO

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

IMPRIMIMOS LA MATRIZ

} while(mat1[i][j]<1 || mat1[i][j]>23); MATRIZ DE 1 A 23

c=c+5; } c=5; f=f+1;

43


PROGRAMACIÓN II } for(i=1;i<=li;i++) FUNCION DEL FOR

{ for(j=1;j<=li;j++) { do

INICIO DEL SEGUNDO DO

{ gotoxy(col1,fil1);scanf("%d",&mat2[i][j]); }

IMPRESIÓN DE LA SEGUNDA MATRIZ

while(mat2[i][j]<1 || mat2[i][j]>23); DESDE 1 HASTA EL 23

col1=col1+5; } col1=30; fil1=fil1+1;

POSICION DE FILAS Y COLUMNAS

} } void producto()

FUNCION DEL PRODUCTO

{ for(i=0;i<=li;i++) {

FUNCION DEL FOR CON EL I Y J

for(j=0;j<=li;j++) { mat3[i][j]=0; for(m=0;m<=li;m++)

LA MATRIZ ENCERADA EN CERO

44


PROGRAMACIÓN II { mat3[i][j]=mat3[i][j]+mat1[i][m]*mat2[m][j];

MATRIZ3[I][J]=MATRIZ3[I][J] +MAT1[I][M]*MAT2[M][J]

} } } for(i=1;i<=li;i++) FUNCION DEL FOR I Y J

{ for(m=1;m<=li;m++) {

gotoxy(col2,fil2);printf("%d",mat3[i][m]); col2=col2+5; } col2=47; fil2=fil2+1; } } void main()

FUNCION MAIN

{ do {

INICIO DEL DO DEL MAIN

clrscr(); borde();

LLAMAMIENTO DE FUNCIONES

c=5; col1=30;

45

IMPRIMO LA MATRIZ 3


PROGRAMACIÓN II col2=47; f=12; fil1=12;

POSICION DE FILAS Y COLUMNAS

fil2=12; gotoxy(19,3);printf("++PRODUCTO ALGEBRAICO DE DOS MATRIZES++"); gotoxy(10,5);printf("INGRESE EL LIMITE QUE DESEE INGRESAR= ");scanf("%d",&li); gotoxy(6,7);printf("PRIMERA MATRIZ MATRIZ RESULTANTE +++");

SEGUNDA MATRIZ

ingreso(); producto();

IMPRESIÓN DE LAS FUNCIONES

textcolor(2); gotoxy(3,21);printf("CONTINUAR 1 O FINALIZAR 0== ");scanf("%d",&op); } FIN DEL PROGRAMA

while(op==1); }

CORRIDO DEL PROGRAMA

46


PROGRAMACIÓN II 10.- Diseñe un programa utilizando matrices y funciones, que me permita generar una matriz de n elementos con la serie de fibonacci, y la diagonal secundaria se llena con el factorial, guarde los datos de la diagonal secundaria en un vector y presente. Para este programa debemos declarar las 2 librerías principales como son;#include <conio.h>,#include<stdio.h> luego iniciamos el programa con declaración de la variables que vayamos a utilizar pueden ser globales, luego hacemos para iniciar el programa con una estructura de control para realizar el margen, luego debemos declara el posicionamiento de filas y columnas, después declaramos una estructura para poder ingresar los datos de una matriz, una ves realizado la entrada de la matriz debemos realizar la entrada principal para utilizar la serie del Fibonacci y el factorial, una vez realizado esta estructura debemos guardarlos en un vector para poder visualizar el factorial y el fibonacci luego, debemos iniciar con el programa principal con void main ( ),luego declaramos variables que sean necesarias utilizando una definición global en este caso el int, ya que nos permite ingresar números enteros, después abrimos un lazo do, que es una Instrucción repetitiva ….mientras la condición sea verdadera, hacemos un blanqueado de pantalla, y realizamos una estructura para poder visualizar cuantas filas y columnas vamos a utilizar, luego abrimos un lazo for el cual nos permite hacer un control, para poder entrar al programa debemos declarar “printf”; para la salida de datos y “scanf”, para tener una posición en la pantalla debemos utilizar la instrucción gotoxy(col,fila), utilizamos el while para serrar la condición del do, y finalmente realizamos un mensaje que diga continuar presione 1 y para finalizar presione 0 cerramos el lazo for para que se repita las veces que sea necesario si deseamos debemos controlar para que el Fibonacci baya controlado de tal numero al que desea

ESTRUCTURA DEL PROGRAMA # include<stdio.h> # include<conio.h> int d,factorial,fact,c,a,b,i,j,op,ctv: int col,fila,limt,matriz[10][10],vector[12],h;

47

LIBRERIAS PRINCIPALES Y VARIABLES ENTERAS


PROGRAMACIÓN II void borde() { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } }

FUNCION DEL BORDE

void ingresar (int limite, int factor) { gotoxy(2,8);printf("²MATRIZ DE INGRESO²"); fila=10; col=5; factorial=1; h=1; a=1; b=0; d=limite; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(i==j); { c=a+b; a=b; b=c; matriz[i][j]=c; gotoxy(col,fila);printf("%d",matriz[i][j]); } col=col+5; } fila=fila+4; col=5;

POSICION DE FILAS Y COLUMNAS

48

FUNCION DEL INGRESO


PROGRAMACIÓN II } fila=10; d=limite; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(d==j) { factorial=factorial*i; matriz[i][j]=factorial; gotoxy(col,fila);printf("%d",matriz[i][j]); delay(900); } col=col+5;

ESTRUCTURA DEL PROGRAMA FIBONACCI

} fila=fila+4; d--; col=5; } } void vector1 (int limite) { gotoxy(26,8);printf("² DIGONAL SECUNDARIO ²"); fila=10; col=40; d=limite; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(d==j) { vector[h]=matriz[i][j]; h=h+1; gotoxy(col,fila);printf("%d",matriz[i][j]); col=col-2;

49

FUNCION DEL VECTOR


PROGRAMACIÓN II fila=fila+2; d--; } } } } void ordenar(int limite, int factor) { gotoxy(54,8);printf("² VECTOR ORDENADO ²"); col=65; fila=10;

for(i=1;i<h;i++) { gotoxy(col,fila);printf("%d",vector[i]); fila=fila+2;

FUNCION DE ORDENAR

} }

void main () INICIO DEL { PROGRAMA Y DEL DO do { clrscr(); borde(); textcolor(3); gotoxy(3,2);printf(" ***GENERACION DE MATRIZ CON FIBONACI YDIAGONAL SECUNDARIA DE FACTORIAL***"); gotoxy(22,4);printf("Ingresar el limite = ");scanf("%d",&limt); gotoxy(22,6);printf("Ingresar el factorial = ");scanf("%d",&fact); ingresar(limt,fact); vector1(limt); ordenar(limt,fact); gotoxy(25,23);printf("Continuar 1 o Finalizar 0 == > ");scanf("%d",&op); } while(op==1); getch(); }

FINASLIZAR EL PROGRAMA

50


PROGRAMACIÓN II CORRIDO DEL PROGRAMA

51


PROGRAMACIÓN II 11.-Relice un programa utilizando funciones que lea una matriz de enteros de n números de filas y de n números de columnas y se muestre en pantalla la matriz transpuesta. Para este programa debemos declarar las 2 librerías principales como son;#include <conio.h>,#include<stdio.h> luego iniciamos el programa con declaración de la variables que vayamos a utilizar pueden ser globales, luego hacemos para iniciar el programa con una estructura de control para realizar el margen, luego debemos declara el posicionamiento de filas y columnas, después declaramos una estructura para poder ingresar los datos de una matriz, una ves realizado la entrada de la matriz debemos realizar la entrada principal para utilizar la serie del Fibonacci y el factorial, una vez realizado esta estructura debemos guardarlos en un vector para poder visualizar el factorial y el fibonacci luego, debemos iniciar con el programa principal con void main ( ),luego declaramos variables que sean necesarias utilizando una definición global en este caso el int, ya que nos permite ingresar números enteros, después abrimos un lazo do, que es una Instrucción repetitiva ….mientras la condición sea verdadera, hacemos un blanqueado de pantalla, y realizamos una estructura para poder visualizar cuantas filas y columnas vamos a utilizar, luego abrimos un lazo for el cual nos permite hacer un control, para poder entrar al programa debemos declarar “printf”; para la salida de datos y “scanf”, para tener una posición en la pantalla debemos utilizar la instrucción gotoxy(col,fila), utilizamos el while para serrar la condición del do, y finalmente realizamos un mensaje que diga continuar presione 1 y para finalizar presione 0 cerramos el lazo for para que se repita las veces que sea necesario si deseamos debemos controlar para que el Fibonacci baya controlado de tal numero al que desea

ESTRUCTURA DEL PROGRAMA # include<stdio.h> # include<conio.h> int matriz1[10][10],matriz2[10][10]; int col,fil,i,j,op,fila,colum,a,b; void borde()

LIBRERÍAS PRINCIPALES Y VARIABLES DE TIPO ENTERA

52


PROGRAMACIÓN II { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); }

FUNCION DEL BORDE

for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void ingresar (int a,int b) { gotoxy(2,8);printf("²MATRIZ DE INGRESO²"); fila=10; col=5; for(i=1;i<=a;i++) { for(j=1;j<=b;j++) { gotoxy(col,fila);scanf("%d",&matriz1[i][j]); matriz2[j][i]=matriz1[i][j]; col=col+3; } col=5; fila=fila+2; } } void traspaso(int a,int b) { gotoxy(35,8);printf("²MATRIZ TRANSPUESTA²"); fila=10; col=39; for(i=1;i<=b;i++) { for(j=1;j<=a;j++) { gotoxy(col,fila);printf("%d",matriz2[i][j]); col=col+3; }

53

FUNCION DEL INGRESO

ESTRUCTURA DE LA MATRIZ TRANSPUESTA


PROGRAMACIÓN II fila=fila+2; col=39; }

POSICION DE FILAS Y COLUMNAS

} void main () INICIO DEL PROGRAMA Y { DEL DO do { clrscr(); LLAMAMIENTO A LAS borde(); FUNCIONES textcolor(3); gotoxy(25,2);printf(" ***GENERACION DE MATRIZ TRANSPUESTA***"); gotoxy(22,4);printf("Ingresar las filas = ");scanf("%d",&fil); gotoxy(22,6);printf("Ingresar las columnas = ");scanf("%d",&colum); ingresar(fil,colum); LLAMAMIENTO A LAS FUNCIONES traspaso(fil,colum); gotoxy(25,23);printf("Continuar 1 o Finalizar = = > ");scanf("%d",&op); } while(op==1); getch(); }

FINALIZACIÓN DEL PROGRAMA

CORRIDO DEL PROGRAMA

54


PROGRAMACIÓN II

55


PROGRAMACIÓN II 12.-Diseñe un programa utilizando matrices y funciones que me permita generar una matriz con ceros solo las diagonales principal y secundaria y la demás posiciones muestren vacías.

#include<conio.h> #include<stdio.h> int i,j,c,limite,fila,limt,col,matriz[15][15],op,d; void borde() { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); FUNCION DEL gotoxy(i,24);printf("*"); BORDE } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void principal(int limite) { col=8; fila=10; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(i==j) { c=0; matriz[i][j]=0; gotoxy(col,fila);printf("%d",matriz[i][j]); } col=col+3; } fila=fila+2; col=8;

POSICION DE FILAS Y COLUMNAS

56

LIBRERIAS PRINCIPALES Y VARIABLES DE TIPO ENTERA

FUNCION DE LA MATRIZ PRINCIPAL


PROGRAMACIÓN II } } void diagonal(int limite) { fila=10; d=limite; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(d==j) { c=0; matriz[i][j]=0; gotoxy(col,fila);printf("%d",matriz[i][j]); } col=col+3;

FUNCION DE LA DIAGONAL DE LA MATRIZ

} fila=fila+2; d--; col=8; } } void main () INICIO DEL PROGRAMA { Y DEL DO do { clrscr(); borde(); textcolor(5); gotoxy(27,2);cprintf(" ***MATRIZ DE CEROS***"); textcolor(9); gotoxy(3,8);cprintf(" ² MATRIZ PRINCIPAL Y DIAGONAL ²"); gotoxy(22,4);printf("Ingresar el limite = ");scanf("%d",&limt); principal(limt); LLAMAMIENTO A diagonal(limt); LAS FUNCIONES textcolor(2); gotoxy(27,23);cprintf("Continuar 1 0 finalizar 0== >");scanf("%d",&op); }

57


PROGRAMACIÓN II while(op==1); getch(); }

FINALIZAZCION DEL PROGRAMA

CORRIDO DEL PROGRAMA

58


PROGRAMACIÓN II 13.-Diseñe un programa utilizando matrices y funciones que me permita ingresar n términos en una matriz entre 5 y 35 encontrar todo los valores impares ingresado en la matriz, pasar los datos a un vector y presentar dicho vector ordenado ascendente y descendente, el proceso se repite n veces. Para este programa debemos declarar las 2 librerías principales como son;#include <conio.h>,#include<stdio.h> luego iniciamos el programa con declaración de la variables que vayamos a utilizar pueden ser globales, luego hacemos para iniciar el programa con una estructura de control para realizar el margen, luego debemos declara el posicionamiento de filas y columnas, después declaramos una estructura para poder ingresar los datos de una matriz, una ves realizado la entrada de la matriz debemos realizar la entrada principal para utilizar la serie del Fibonacci y el factorial, una vez realizado esta estructura debemos guardarlos en un vector para poder visualizar el factorial y el fibonacci luego, debemos iniciar con el programa principal con void main ( ),luego declaramos variables que sean necesarias utilizando una definición global en este caso el int, ya que nos permite ingresar números enteros, después abrimos un lazo do, que es una Instrucción repetitiva ….mientras la condición sea verdadera, hacemos un blanqueado de pantalla, y realizamos una estructura para poder visualizar cuantas filas y columnas vamos a utilizar, luego abrimos un lazo for el cual nos permite hacer un control, para poder entrar al programa debemos declarar “printf”; para la salida de datos y “scanf”, para tener una posición en la pantalla debemos utilizar la instrucción gotoxy(col,fila), utilizamos el while para serrar la condición del do, y finalmente realizamos un mensaje que diga continuar presione 1 y para finalizar presione 0 cerramos el lazo for para que se repita las veces que sea necesario si deseamos debemos controlar para que el Fibonacci baya controlado de tal numero al que desea

ESTRUCTURA DEL PROGRAMA #include<conio.h> #include<stdio.h> int vector[12],matriz[12][12],limit,i,j,op,fila,col,v,aux; void borde ()

59

LIBRERIAS PRINCIPALES Y VARIABLES DE TIPO ENTERA


PROGRAMACIĂ&#x201C;N II { for (i=1;i<=80;i++) { gotoxy(i,1); printf("*"); gotoxy(i,24);printf("*"); FUNCION DEL BORDE } for (i=1;i<=24;i++) { gotoxy(1,i); printf("*"); gotoxy(80,i);printf("*"); } } void ingreso(int limite) { fila=10; col=9; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { FUNCION DEL do INGRESO { gotoxy(col,fila);printf(" "); gotoxy(col,fila);scanf("%d",&matriz[i][j]); } while(matriz[i][j]<5||matriz[i][j]>35); col=col+4; } col=9; fila=fila+2; } } void impar(int limite) { v=1; col=35; fila=10; FUNCION DEL IMPAR for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(matriz[i][j]%2==1)

60


PROGRAMACIÓN II { vector[v]=matriz[i][j]; gotoxy(col,fila);printf("%d",vector[v]); v=v+1; fila=fila+1; } col=35; } } } void asendente(int limite) { col=55; fila=10; for(i=1;i<v;i++) { for(j=1;j<v;j++) { if(vector[i]<vector[j]) { aux=vector[i]; vector[i]=vector[j]; vector[j]=aux; } } } } impresion1 (limite) { for(i=1;i<v;i++) { gotoxy(col,fila);printf("%d",vector[i]); fila=fila+1; } }

61

MATRIZ A UN NUEVO VECTOR

FUNCION ASCENDENTE

IMPRESIÓN ASCENDENTE


PROGRAMACIÓN II void desendente(int limite) { col=70; fila=10; for(i=1;i<v;i++) FUNCION DESCENDENTE { for(j=1;j<v;j++) { if(vector[i]>vector[j]) { aux=vector[i]; vector[i]=vector[j]; vector[j]=aux; } } } } impresion2 (limite) { for(i=1;i<v;i++) IMPRESIÓN DEL { DESCENDENTE gotoxy(col,fila);printf("%d",vector[i]); fila=fila+1; } } void main() { INICIO DEL PROGRAMA Y do DEL DO { clrscr(); borde(); gotoxy(20,3);printf("*** ENCONTRAR NUMEROS IMPARES ***"); gotoxy(20,5); printf(" Ingrese un numero : ");scanf("%d",&limit); gotoxy(5,7); printf("² MATRIZ DE INGRESO ²"); MENSAJES DEL gotoxy(29,7); printf("² VECT DESORDEN ²"); PROGRAMA gotoxy(49,7); printf("² VECT ASEND ²"); gotoxy(65,7); printf("² VECT DESEN ²"); ingreso(limit); impar(limit); LLAMAMIENTO DE asendente(limit); LAS FUNCIONES impresion1(limit); desendente(limit);

62


PROGRAMACIÓN II impresion2(limit); gotoxy(30,23);printf("Continuar 1 o Finalizar = => ");scanf("%d",&op); } CIERRE DEL while(op==1); PROGRAMA getch(); } CORRIDO DEL PROGRAMA

63


PROGRAMACIÓN II 14.- Diseñe un programa utilizando matrices y funciones que me permita generar una matriz con cualquier factor ingresado desde teclado, recorre la matriz y encontrar todas las posiciones pares ya sea en filas y en columnas y guarde los datos en un vector. Para este programa debemos declarar las 2 librerías principales como son;#include <conio.h>,#include<stdio.h> luego iniciamos el programa con declaración de la variables que vayamos a utilizar pueden ser globales, luego hacemos para iniciar el programa con una estructura de control para realizar el margen, luego debemos declara el posicionamiento de filas y columnas, después declaramos una estructura para poder ingresar los datos de una matriz, una ves realizado la entrada de la matriz debemos realizar la entrada principal para utilizar la serie del Fibonacci y el factorial, una vez realizado esta estructura debemos guardarlos en un vector para poder visualizar el factorial y el fibonacci luego, debemos iniciar con el programa principal con void main ( ),luego declaramos variables que sean necesarias utilizando una definición global en este caso el int, ya que nos permite ingresar números enteros, después abrimos un lazo do, que es una Instrucción repetitiva ….mientras la condición sea verdadera, hacemos un blanqueado de pantalla, y realizamos una estructura para poder visualizar cuantas filas y columnas vamos a utilizar, luego abrimos un lazo for el cual nos permite hacer un control, para poder entrar al programa debemos declarar “printf”; para la salida de datos y “scanf”, para tener una posición en la pantalla debemos utilizar la instrucción gotoxy(col,fila), utilizamos el while para serrar la condición del do, y finalmente realizamos un mensaje que diga continuar presione 1 y para finalizar presione 0 cerramos el lazo for para que se repita las veces que sea necesario si deseamos debemos controlar para que el Fibonacci baya controlado de tal numero al que desea

ESTRUCTURA DEL PROGRAMA # include<stdio.h> # include<conio.h> int cot,fact,i,j,op,col,fila,limt,matriz[10][10],vector[20],cotvector;

64

LIBRERIAS PRINCIPALES Y VARIABLES DE TIPO ENTERO


PROGRAMACIÓN II void borde() { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); FUNCION DEL } BORDE for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void ingresar (int limite, int factor) { fila=10; col=5; cot=0; cotvector=0; gotoxy(8,8);printf("²MATRIZ DE INGRESO²"); for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { cot=cot+1; matriz[i][j]=factor*cot; gotoxy(col,fila);printf("%d",matriz[i][j]); if((i%2==0)|| (j%2==0)) { cotvector=cotvector+1; vector[cotvector]=matriz[i][j]; } col=col+4; } fila=fila+1; col=5;

POSICION DE FILAS Y COLUMNAS

} }

65

FUNCION DEL INGRESO


PROGRAMACIÓN II void impresion (int limite) { fila=10; col=38; gotoxy(35,8);printf("²MATRIZ DE POSICIONES PARES²"); for(i=1;i<=cotvector;i++) {

FUNCION DE LA IMPRESIÓN

gotoxy(col,fila);printf("%d",vector[i]); fila=fila+1; col=38; } } void main () INICIO DEL PROGRAMA Y { DEL DO do { clrscr(); borde(); textcolor(7); gotoxy(10,2);printf(" ***PROGRAMA PARA ENCONTRAR LAS POSICIONES PARES DE UNA MATRIZ* **"); gotoxy(22,4);printf("Ingresar el limite = ");scanf("%d",&limt); gotoxy(22,6);printf("Ingresar el factor = ");scanf("%d",&fact); ingresar(limt,fact); impresion(limt); gotoxy(30,23);printf("Continuar 1 o Finalizar = => ");scanf("%d",&op); } while(op==1); FINALIZACION getch(); }

DEL PROGRAMA

66


PROGRAMACIÓN II CORRIDO DEL PROGRAMA

67


PROGRAMACIĂ&#x201C;N II

BIBLIOGRAFIA Http://es.wikipedia.org/wiki/Vector_(inform%C3%a1tica) Http://www.zator.com/Cpp/E4_3.htm http://www.atc.us.es/asignaturas/fi/curso_de_c/Array_bidimensional_o_ma triz.html http://www.educared.org/wikiEducared/%C2%BFQu%C3%A9_es_u na_matriz%3F.html http://ronnyml.wordpress.com/2009/07/04/vectores-matrices-ypunteros-en-c/

68

ELELEMTO 1 Y 2  

MATRICES Y EJERCICIOS

Read more
Read more
Similar to
Popular now
Just for you