[Escribir el título del documento]




        UNIVERSIDAD TÉCNICA DE AMBATO


FACULTAD CIENCIAS HUMANAS Y DE LA EDUCACIÓN


MATERIA:

                PROGRAMACIÓN 2

NOMBRE:

                 JOHANNA MARIN

LICD:

                WILMA GAVILANES

SEMESTRE:

                      3ro


                                                                      1
[Escribir el título del documento]



                                                  Índice

Índice .................................................................................................................................... 2
FUNCIONES CON............................................................................................................. 3
VECTORES Y MATRICES ........................................................................................... 3
   VECTOR.-............................................................................................................................ 3
   MATRICES.- .................................................................................................................... 3
Funciones en C ............................................................................................................ 3
   Función ........................................................................................................................... 3
   Llamada a una función................................................................................. 3
   Retorno ......................................................................................................................... 3
Aplicaciones prácticas ................................................................................... 5
Ingreso de datos en una matriz ........................................................... 8
Diagonal principal ............................................................................................ 10
Diagonal secundaria....................................................................................... 14
Bibliografía ............................................................................................................... 17




                                                                                                                                                2
[Escribir el título del documento]




      FUNCIONES CON
   VECTORES Y MATRICES
 VECTOR.- contiene varios elementos, es un arreglo unidimensional, que tiene un
índice y un dato, cada índice apunta a un solo dato.

                                                            Índice.


                                                            Datos

MATRICES.- Una matriz es un array multidimensional. Se definen igual que los
vectores excepto que se requiere un índice por cada dimensión.

Ejemplo:                   Filas       Columna
                                       s
                                   1.1     1.2    1.3
                                   2.1    2.2     2.3
                                   3.1    3.2     3.3
     Diagonal secundaria                                       Diagonal principal

Sintaxis

tipo nombre [tamaño 1][tamaño 2]...;

Una matriz bidimensional se podría representar gráficamente como una tabla con filas y
columnas. La matriz tridimensional se utiliza, por ejemplo, para trabajos gráficos con
objetos 3D.


Funciones en C
Función

Grupo de sentencias bajo el mismo nombre que realizan una tarea específica.

Llamada a una función

Ejecuta el grupo de sentencias de una función.

Retorno


                                                                                               3
[Escribir el título del documento]


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

Las funciones son un conjunto de instrucciones que realizan una tarea específica. En
general toman ciertos valores de entrada, llamados parámetros y proporcionan un valor de
salida o valor de retorno.

Las funciones en programación C, C++ y C# son módulos de programa que se mandan
correr en la función main o dentro de otras funciones.


El formato general de una función en C es
especificador_de_tipo nombre_de_función( )
{

variables locales
código de la función

}

Ejemplo:

Void matrizvector ( )
{

}

Después de haber declarado la función antes del programa principal . se debe llamar a esta
función dentro del programa principal void main.

Ejemplo:

Void main
{

Matrizvector();

}




                                                                                                4
[Escribir el título del documento]



Aplicaciones prácticas
En este ejercicio usamos funciones antes del programa principal y las
llamamos dentro del programa principal (void main).

   1. Realice un programa que me permita ingresar dos matrices y
      realizar el producto algebraico de las mismas.

Análisis:
             El siguiente programa vamos a realizar en lenguaje C, utilizando la
               instrucción gotoxy para ordenar en filas y columnas.
             También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez
               que se ejecute el programa, getch (); para la pausa del programa.
             También utilizamos la función borde para el margen o borde y en el
               programa principal llamamos a la función borde.
             Ingresamos un límite para el límite de la matriz.
             Declaramos a la matriz de tipo entero.
             Utilizamos dos lazos for para ingresar dos matrices.
             Luego utilizamos tres lazos for. los dos primeros lazos for es para el control
               de los datos ingresados en las columnas y filas de la matriz.
             Realizamos el proceso utilizando una tercera matriz, esta matriz va a
               funcionar como un contador el cual le inicializamos en 0 y esta matriz es la
               que suma a la primera matriz ingresada y multiplica a la segunda matriz.
             Utilizamos funciones uno para el ingreso y otro para el proceso y en el
               programa principal llamamos a las funciones.
             Utilizamos la instrucción scanf para ingresar datos en la matriz.
             Utilizamos la instrucción printf para visualizar o imprimir los datos de la
               matriz.
             Utilizamos la sentencia do while para repetir el proceso las veces que el
               usuario lo desee.




                                                                                                 5
[Escribir el título del documento]


Codificación:
#include<stdio.h>
#include<conio.h>
int i,l,c,f,c1,f1,j,h,g,op,col,fl;
int m[10][10],m1[10][10],mr[10][10];
void borde()
{
textcolor(11);
for(i=1;i<=45;i++)
{
gotoxy(1,i);cprintf("&",i);
gotoxy(80,i);cprintf("&",i);
}
for(i=1;i<=80;i++)
{
gotoxy(i,1);cprintf("&",i);
gotoxy(i,45);cprintf("&",i);
}
}
void ingreso()
{
c=6;
f=12;
for(h=1;h<=l;h++)
{
for(g=1;g<=l;g++)
{
gotoxy(c,f);scanf("%d",&m[h][g]);
c=c+3;
}
c=6;
f=f+2;
}
c1=20;
f1=12;
for(h=1;h<=l;h++)
{
for(g=1;g<=l;g++)
{
gotoxy(c1,f1);scanf("%d",&m1[h][g]);
c1=c1+3;
}
c1=20;
f1=f1+2;
}
}
void producto(int l)
{
col=30;
fl=12;


                                                                            6
[Escribir el título del documento]


for(h=0;h<=l;h++)
{
for(g=0;g<=l;g++)
{
mr[h][g]=0;
for(j=0;j<=l;j++)
{
mr[h][g]=mr[h][g]+m[h][j]*m1[j][g];
}}}
for(h=1;h<=l;h++)
{
for(j=1;j<=l;j++)
{
gotoxy(col,fl);printf("%d",mr[h][j]);
col=col+3;
}
col=30;
fl=fl+2;
}}
void main()
{
do
{
clrscr();
borde();
gotoxy(10,5);printf("PRODUCTO ALGEBRAICO DE MATRICES");
gotoxy(7,8);printf("INGRESE UN LIMITE: ");scanf("%d",&l);
gotoxy(6,10);printf("MATRIZ 1");
gotoxy(18,10);printf("MATRIZ 2");
gotoxy(30,10);printf("PRDCT DE 2 MATRZ");
ingreso();
producto(l);
gotoxy(10,20);printf("1 PARA SEGUIR 0 PARA SALIR: ");scanf("%d",&op);
}
while(op==1);
getch();
}
Ejecución del programa:




                                                                                             7
[Escribir el título del documento]




Ingreso de datos en una
matriz
   2. Diseñe un programa que me permita ingresar n elementos en una
      matriz cuadrática.

Análisis:
             El siguiente programa vamos a realizar en lenguaje C, utilizando la
               instrucción gotoxy para ordenar en filas y columnas.
             También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez
               que se ejecute el programa, getch (); para la pausa del programa.
             También utilizamos la función borde para el margen o borde y en el
               programa principal llamamos a la función borde.
             Ingresamos un límite para el límite de la matriz.
             Declaramos a la matriz de tipo entero.
             Utilizamos dos lazos for para ingresar una matriz.
             Utilizamos la instrucción scanf para ingresar datos en la matriz.
             Utilizamos la instrucción printf para visualizar o imprimir los datos de la
               matriz.



                                                                                                 8
[Escribir el título del documento]


            Utilizamos la sentencia do while para repetir el proceso las veces que el
              usuario lo desee.

Codificación:
#include<stdio.h>
#include<conio.h>
int i,k,j,l,f,c,op;
int matriz1[3][3];
void borde()
{
for(i=1;i<=60;i++)
{
gotoxy(i,1);printf("%",i);
gotoxy(i,24);printf("%",i);
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("%",i);
gotoxy(60,i);printf("%",i);
}
}
void main()
{
do
{
clrscr();
borde();
gotoxy(5,5);printf("ingrese un limite ");scanf("%d",&l);
c=10;f=10;
for(j=1;j<=l;j++)
{
for(k=1;k<=l;k++)
{
gotoxy(c,f);scanf("%d",&matriz1[j][k]);
c=c+5;
}
c=10;
f=f+1;
}
c=25;f=10;
for(j=1;j<=l;j++)
{
for(k=1;k<=l;k++)
{
gotoxy(c,f);printf("%d",matriz1[j][k]);


                                                                                                9
[Escribir el título del documento]


c=c+5;
}
c=25;
f=f+1;}
gotoxy(10,20);printf("1 para seguir y 0 para salir");scanf("%d",&op);
}
while(op==1);
getch();}
Ejecución del programa:




Diagonal principal
Es donde las posiciones de filas y columnas son iguales.
Ejemplo:

1.1
           2.2
                 3.3
                              Diagonal principal




                                                                                                10
[Escribir el título del documento]


   3. Diseñe un programa que me permita ingresar n números enteros
      en una matriz cuadrática, recorra sus posiciones y obtenga sus
      datos de su diagonal principal.

Análisis:
             El siguiente programa vamos a realizar en lenguaje C, utilizando la
               instrucción gotoxy para ordenar en filas y columnas.
             También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez
               que se ejecute el programa, getch (); para la pausa del programa.
             También utilizamos la función borde para el margen o borde y en el
               programa principal llamamos a la función borde.
             Ingresamos un límite para el límite de la matriz.
             Declaramos a la matriz de tipo entero.
             Utilizamos dos lazos for para ingresar una matriz. También utilizamos una
               condición if que la fila sea igual a la columna para coger los datos de la
               diagonal principal.
             Utilizamos la instrucción scanf para ingresar datos en la matriz.
             Utilizamos la instrucción printf para visualizar o imprimir los datos de la
               matriz.
             Utilizamos la sentencia do while para repetir el proceso las veces que el
               usuario lo desee.




Codificación:
#include<stdio.h>
#include<conio.h>
int i,c,f,h,j,l,op;
int matriz[9][9];
void borde()
{
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("&",i);
gotoxy(80,i);printf("&",i);
}


                                                                                                 11
[Escribir el título del documento]


for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("&",i);
gotoxy(i,24);printf("&",i);
}}
void main()
{
do
{
clrscr();
borde();
c=10;
f=10;
gotoxy(2,2);printf("INGRESE UN LIMITE ");scanf("%d",&l);
for(j=1;j<=l;j++)
{
for(h=1;h<=l;h++)
{
gotoxy(5,7);printf("M.de entrada");
gotoxy(c,f);scanf("%d",&matriz[j][h]);
c=c+3;
}
f=f+1;
c=10;
}
c=25;
f=10;
for(j=1;j<=l;j++)
{
for(h=1;h<=l;h++)
{
gotoxy(20,7);printf("M. resultante");
gotoxy(c,f);printf("%d",matriz[j][h]);
c=c+3;
}
f=f+1;
c=25;
}
c=43;
f=10;
for(j=1;j<=l;j++)
{
for(h=1;h<=l;h++)
{
if(j==h)
{
gotoxy(38,7);printf("M. diagonal principal");


                                                                                         12
[Escribir el título del documento]


gotoxy(c,f);printf("%d",matriz[j][h]);
c=c+3;
f=f+1;
}}}
gotoxy(10,20);printf("1 para seguir 0 para salir ");scanf("%d",&op);
}
while(op==1);
getch();
}
Ejecución del programa:




                                                                                                13
[Escribir el título del documento]



Diagonal secundaria
Es donde las filas se van aumentando hasta el límite y las columnas se van
disminuyendo desde el límite hasta 1.

Orden ascendente las filas.

Orden descendente las columnas.
Ejemplo:

                                                                       1.1      1.2      1.3
                                                                       2.1      2.2      2.3
                                                                       3.1      3.2      3.3
                                        Diagonal secundaria



   4. Diseñe un programa que me permita generar múltiplos de
      cualquier factor ingresado desde teclado, solo en las diagonales
      principal y secundaria, las demás posiciones se llenan con valores
      ceros.

Análisis:
             El siguiente programa vamos a realizar en lenguaje C, utilizando la
               instrucción gotoxy para ordenar en filas y columnas.
             También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez
               que se ejecute el programa, getch (); para la pausa del programa.
             También utilizamos la función borde para el margen o borde y en el
               programa principal llamamos a la función borde.
             Ingresamos un límite para el límite de la matriz.
             Declaramos a la matriz de tipo entero.
             Utilizamos dos lazos for para ingresar una matriz. También utilizamos una
               condición if que la fila sea igual a la columna para coger los datos de la
               diagonal principal.




                                                                                                   14
[Escribir el título del documento]


          Para la diagonal secundaria se utiliza un contador que le inicializamos en 1
             para el control de las columnas. Y la variable de la columna debe irse
             disminuyendo de 1 en 1.
          Utilizamos la instrucción scanf para ingresar datos en la matriz.
          Utilizamos la instrucción printf para visualizar o imprimir los datos de la
             matriz.
          Utilizamos la sentencia do while para repetir el proceso las veces que el
             usuario lo desee.

Codificación:
#include<conio.h>
#include<stdio.h>
int i,l,c,f,g,j,fac,m,h,c1,cont,c1,h1,op,c2;
int matriz[10][10];
void borde()
{
for(i=1;i<=80;i++)
{
textcolor(5);
gotoxy(i,1);cprintf("%",i);
gotoxy(i,24);cprintf("%",i);
}
for(i=1;i<=24;i++)
{
textcolor(7);
gotoxy(1,i);cprintf("%",i);
gotoxy(80,i);cprintf("%",i);
}
}
void main()
{
do
{
clrscr();
borde();
gotoxy(30,4);printf("MATRICES");
gotoxy(4,7);printf("INGRESE UN LIMITE: ");scanf("%d",&l);
gotoxy(4,9);printf("INGRESE UN FACTOR: ");scanf("%d",&fac);
c=15;
f=15;
m=1;
h=1;


                                                                                               15
[Escribir el título del documento]


c=25;
f=15;
m=1;
h=1;
for(j=1;j<=l;j++)
{
for(g=1;g<=l;g++)
{
if(j==g)
{
m=fac*h;
matriz[j][g]=m;
gotoxy(c,f);printf("%d",matriz[j][g]);
h=h+1;
}
else
{
gotoxy(c,f);printf("0");
}
c=c+3;
}
c=25;f=f+3;
}
c2=26;
c1=c2+l-1;
f=15;
cont=1;
h1=h;
for(j=1;j<=l;j++)
{
m=fac*h1;
matriz[j][cont]=m;
gotoxy(c1+3,f);printf("%d",matriz[j][cont]);
h1=h1+1;
gotoxy(10,22);printf("DESEA REPETIR EL PROCESO 1 PARA SEGUIR 0 PARA
SALIR ");scanf("%d",&op);
}
while(op==1);
getch();
}


Ejecución del programa:




                                                                                    16
[Escribir el título del documento]




Bibliografía
  http://c.conclase.net/curso/?cap=003C++ contienen, como
   mínimo, una función.
  http://www.fismat.umich.mx/mn1/manual/node7.html




                                                                             17

Más contenido relacionado

PPT
PDF
Funciones con arrays y vectores en c
PDF
Funciones con vectores y matrices
PDF
Funciones con vectores y matrices
PDF
Arreglos C#
PPT
4 variables, arreglos, estructuras y enum
DOCX
Funciones propias de visual basic
PDF
Clase 10_ programacion
Funciones con arrays y vectores en c
Funciones con vectores y matrices
Funciones con vectores y matrices
Arreglos C#
4 variables, arreglos, estructuras y enum
Funciones propias de visual basic
Clase 10_ programacion

La actualidad más candente (20)

PPT
DOC
Separata java script
PDF
Arreglos en c ++
PDF
Java modografico
PDF
Arreglos
PDF
Principales codigos visual basic
DOC
Apuntadores y direccionamiento
PDF
Algoritmos - Funciones C++
PDF
08 - Punteros en lenguaje C
PDF
Tipos de datos
DOCX
Apuntadores
PPT
Arreglos
DOCX
Informe técnico 1
PDF
Semana 4 Estructuras de datos(Tuplas, Conjuntos y Diccionarios)
DOCX
Ejercicios de Programación Matemática Aplicada
PDF
06 - Arrays y matrices en lenguaje C
DOCX
Programación - Matrices
Separata java script
Arreglos en c ++
Java modografico
Arreglos
Principales codigos visual basic
Apuntadores y direccionamiento
Algoritmos - Funciones C++
08 - Punteros en lenguaje C
Tipos de datos
Apuntadores
Arreglos
Informe técnico 1
Semana 4 Estructuras de datos(Tuplas, Conjuntos y Diccionarios)
Ejercicios de Programación Matemática Aplicada
06 - Arrays y matrices en lenguaje C
Programación - Matrices
Publicidad

Similar a Funciones con vectores y matrices (20)

PDF
Revista digital
PPT
Manejo de memoria
PDF
Algoritmos y lenjuage de programacion
PDF
ESTRUCTURAS ARRAYS Y DATOS C++
DOCX
Estructura de datos
DOCX
A1 u1-16230227
PPT
Tema vi guia de c
PPTX
Funciones en Lenguaje C
PDF
3.6 funciones de biblioteca
PDF
Escuela
PDF
Escuela
PPTX
Presentación de matlab electromagnetismo ...
DOC
PROGRAMACIÓN EN C
DOC
PROGRAMACION EN C
PDF
Clase 1 Programación II
PDF
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
PPT
Lenguajec diapositivas
PPTX
Funciones de entrada y salida
DOC
Programacion c
Revista digital
Manejo de memoria
Algoritmos y lenjuage de programacion
ESTRUCTURAS ARRAYS Y DATOS C++
Estructura de datos
A1 u1-16230227
Tema vi guia de c
Funciones en Lenguaje C
3.6 funciones de biblioteca
Escuela
Escuela
Presentación de matlab electromagnetismo ...
PROGRAMACIÓN EN C
PROGRAMACION EN C
Clase 1 Programación II
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Lenguajec diapositivas
Funciones de entrada y salida
Programacion c
Publicidad

Más de Johanna Marin (8)

PPTX
Objetivo 3 plan del buen vivir
PPSX
Programacion en visual basic 8.0
PPTX
Funciones de modo grafico
PDF
Funciones de modo grafico
PDF
Funciones de modo grafico
PPTX
Tarea 7
PPTX
Tarea 7
PPT
Tarea 6
Objetivo 3 plan del buen vivir
Programacion en visual basic 8.0
Funciones de modo grafico
Funciones de modo grafico
Funciones de modo grafico
Tarea 7
Tarea 7
Tarea 6

Último (20)

PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PPTX
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
PDF
CURRICULAR DE PRIMARIA santa ursula..pdf
PDF
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PPTX
Clase 3 del silabo-gestion y control financiero
PDF
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
IPERC...................................
PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
DOC
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
CURRICULAR DE PRIMARIA santa ursula..pdf
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Clase 3 del silabo-gestion y control financiero
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
Programa_Sintetico_Fase_4.docx 3° Y 4°..
Ernst Cassirer - Antropologia Filosofica.pdf
IPERC...................................
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
informe tipos de Informatica perfiles profesionales _pdf
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf

Funciones con vectores y matrices

  • 1. [Escribir el título del documento] UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD CIENCIAS HUMANAS Y DE LA EDUCACIÓN MATERIA: PROGRAMACIÓN 2 NOMBRE: JOHANNA MARIN LICD: WILMA GAVILANES SEMESTRE: 3ro 1
  • 2. [Escribir el título del documento] Índice Índice .................................................................................................................................... 2 FUNCIONES CON............................................................................................................. 3 VECTORES Y MATRICES ........................................................................................... 3 VECTOR.-............................................................................................................................ 3 MATRICES.- .................................................................................................................... 3 Funciones en C ............................................................................................................ 3 Función ........................................................................................................................... 3 Llamada a una función................................................................................. 3 Retorno ......................................................................................................................... 3 Aplicaciones prácticas ................................................................................... 5 Ingreso de datos en una matriz ........................................................... 8 Diagonal principal ............................................................................................ 10 Diagonal secundaria....................................................................................... 14 Bibliografía ............................................................................................................... 17 2
  • 3. [Escribir el título del documento] FUNCIONES CON VECTORES Y MATRICES VECTOR.- contiene varios elementos, es un arreglo unidimensional, que tiene un índice y un dato, cada índice apunta a un solo dato. Índice. Datos MATRICES.- Una matriz es un array multidimensional. Se definen igual que los vectores excepto que se requiere un índice por cada dimensión. Ejemplo: Filas Columna s 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3 Diagonal secundaria Diagonal principal Sintaxis tipo nombre [tamaño 1][tamaño 2]...; Una matriz bidimensional se podría representar gráficamente como una tabla con filas y columnas. La matriz tridimensional se utiliza, por ejemplo, para trabajos gráficos con objetos 3D. Funciones en C Función Grupo de sentencias bajo el mismo nombre que realizan una tarea específica. Llamada a una función Ejecuta el grupo de sentencias de una función. Retorno 3
  • 4. [Escribir el título del documento] Una vez “llamada” la función, esta hace su trabajo, y regresa al mismo punto donde fue llamada. Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman ciertos valores de entrada, llamados parámetros y proporcionan un valor de salida o valor de retorno. Las funciones en programación C, C++ y C# son módulos de programa que se mandan correr en la función main o dentro de otras funciones. El formato general de una función en C es especificador_de_tipo nombre_de_función( ) { variables locales código de la función } Ejemplo: Void matrizvector ( ) { } Después de haber declarado la función antes del programa principal . se debe llamar a esta función dentro del programa principal void main. Ejemplo: Void main { Matrizvector(); } 4
  • 5. [Escribir el título del documento] Aplicaciones prácticas En este ejercicio usamos funciones antes del programa principal y las llamamos dentro del programa principal (void main). 1. Realice un programa que me permita ingresar dos matrices y realizar el producto algebraico de las mismas. Análisis:  El siguiente programa vamos a realizar en lenguaje C, utilizando la instrucción gotoxy para ordenar en filas y columnas.  También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez que se ejecute el programa, getch (); para la pausa del programa.  También utilizamos la función borde para el margen o borde y en el programa principal llamamos a la función borde.  Ingresamos un límite para el límite de la matriz.  Declaramos a la matriz de tipo entero.  Utilizamos dos lazos for para ingresar dos matrices.  Luego utilizamos tres lazos for. los dos primeros lazos for es para el control de los datos ingresados en las columnas y filas de la matriz.  Realizamos el proceso utilizando una tercera matriz, esta matriz va a funcionar como un contador el cual le inicializamos en 0 y esta matriz es la que suma a la primera matriz ingresada y multiplica a la segunda matriz.  Utilizamos funciones uno para el ingreso y otro para el proceso y en el programa principal llamamos a las funciones.  Utilizamos la instrucción scanf para ingresar datos en la matriz.  Utilizamos la instrucción printf para visualizar o imprimir los datos de la matriz.  Utilizamos la sentencia do while para repetir el proceso las veces que el usuario lo desee. 5
  • 6. [Escribir el título del documento] Codificación: #include<stdio.h> #include<conio.h> int i,l,c,f,c1,f1,j,h,g,op,col,fl; int m[10][10],m1[10][10],mr[10][10]; void borde() { textcolor(11); for(i=1;i<=45;i++) { gotoxy(1,i);cprintf("&",i); gotoxy(80,i);cprintf("&",i); } for(i=1;i<=80;i++) { gotoxy(i,1);cprintf("&",i); gotoxy(i,45);cprintf("&",i); } } void ingreso() { c=6; f=12; for(h=1;h<=l;h++) { for(g=1;g<=l;g++) { gotoxy(c,f);scanf("%d",&m[h][g]); c=c+3; } c=6; f=f+2; } c1=20; f1=12; for(h=1;h<=l;h++) { for(g=1;g<=l;g++) { gotoxy(c1,f1);scanf("%d",&m1[h][g]); c1=c1+3; } c1=20; f1=f1+2; } } void producto(int l) { col=30; fl=12; 6
  • 7. [Escribir el título del documento] for(h=0;h<=l;h++) { for(g=0;g<=l;g++) { mr[h][g]=0; for(j=0;j<=l;j++) { mr[h][g]=mr[h][g]+m[h][j]*m1[j][g]; }}} for(h=1;h<=l;h++) { for(j=1;j<=l;j++) { gotoxy(col,fl);printf("%d",mr[h][j]); col=col+3; } col=30; fl=fl+2; }} void main() { do { clrscr(); borde(); gotoxy(10,5);printf("PRODUCTO ALGEBRAICO DE MATRICES"); gotoxy(7,8);printf("INGRESE UN LIMITE: ");scanf("%d",&l); gotoxy(6,10);printf("MATRIZ 1"); gotoxy(18,10);printf("MATRIZ 2"); gotoxy(30,10);printf("PRDCT DE 2 MATRZ"); ingreso(); producto(l); gotoxy(10,20);printf("1 PARA SEGUIR 0 PARA SALIR: ");scanf("%d",&op); } while(op==1); getch(); } Ejecución del programa: 7
  • 8. [Escribir el título del documento] Ingreso de datos en una matriz 2. Diseñe un programa que me permita ingresar n elementos en una matriz cuadrática. Análisis:  El siguiente programa vamos a realizar en lenguaje C, utilizando la instrucción gotoxy para ordenar en filas y columnas.  También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez que se ejecute el programa, getch (); para la pausa del programa.  También utilizamos la función borde para el margen o borde y en el programa principal llamamos a la función borde.  Ingresamos un límite para el límite de la matriz.  Declaramos a la matriz de tipo entero.  Utilizamos dos lazos for para ingresar una matriz.  Utilizamos la instrucción scanf para ingresar datos en la matriz.  Utilizamos la instrucción printf para visualizar o imprimir los datos de la matriz. 8
  • 9. [Escribir el título del documento]  Utilizamos la sentencia do while para repetir el proceso las veces que el usuario lo desee. Codificación: #include<stdio.h> #include<conio.h> int i,k,j,l,f,c,op; int matriz1[3][3]; void borde() { for(i=1;i<=60;i++) { gotoxy(i,1);printf("%",i); gotoxy(i,24);printf("%",i); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("%",i); gotoxy(60,i);printf("%",i); } } void main() { do { clrscr(); borde(); gotoxy(5,5);printf("ingrese un limite ");scanf("%d",&l); c=10;f=10; for(j=1;j<=l;j++) { for(k=1;k<=l;k++) { gotoxy(c,f);scanf("%d",&matriz1[j][k]); c=c+5; } c=10; f=f+1; } c=25;f=10; for(j=1;j<=l;j++) { for(k=1;k<=l;k++) { gotoxy(c,f);printf("%d",matriz1[j][k]); 9
  • 10. [Escribir el título del documento] c=c+5; } c=25; f=f+1;} gotoxy(10,20);printf("1 para seguir y 0 para salir");scanf("%d",&op); } while(op==1); getch();} Ejecución del programa: Diagonal principal Es donde las posiciones de filas y columnas son iguales. Ejemplo: 1.1 2.2 3.3 Diagonal principal 10
  • 11. [Escribir el título del documento] 3. Diseñe un programa que me permita ingresar n números enteros en una matriz cuadrática, recorra sus posiciones y obtenga sus datos de su diagonal principal. Análisis:  El siguiente programa vamos a realizar en lenguaje C, utilizando la instrucción gotoxy para ordenar en filas y columnas.  También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez que se ejecute el programa, getch (); para la pausa del programa.  También utilizamos la función borde para el margen o borde y en el programa principal llamamos a la función borde.  Ingresamos un límite para el límite de la matriz.  Declaramos a la matriz de tipo entero.  Utilizamos dos lazos for para ingresar una matriz. También utilizamos una condición if que la fila sea igual a la columna para coger los datos de la diagonal principal.  Utilizamos la instrucción scanf para ingresar datos en la matriz.  Utilizamos la instrucción printf para visualizar o imprimir los datos de la matriz.  Utilizamos la sentencia do while para repetir el proceso las veces que el usuario lo desee. Codificación: #include<stdio.h> #include<conio.h> int i,c,f,h,j,l,op; int matriz[9][9]; void borde() { for(i=1;i<=24;i++) { gotoxy(1,i);printf("&",i); gotoxy(80,i);printf("&",i); } 11
  • 12. [Escribir el título del documento] for(i=1;i<=80;i++) { gotoxy(i,1);printf("&",i); gotoxy(i,24);printf("&",i); }} void main() { do { clrscr(); borde(); c=10; f=10; gotoxy(2,2);printf("INGRESE UN LIMITE ");scanf("%d",&l); for(j=1;j<=l;j++) { for(h=1;h<=l;h++) { gotoxy(5,7);printf("M.de entrada"); gotoxy(c,f);scanf("%d",&matriz[j][h]); c=c+3; } f=f+1; c=10; } c=25; f=10; for(j=1;j<=l;j++) { for(h=1;h<=l;h++) { gotoxy(20,7);printf("M. resultante"); gotoxy(c,f);printf("%d",matriz[j][h]); c=c+3; } f=f+1; c=25; } c=43; f=10; for(j=1;j<=l;j++) { for(h=1;h<=l;h++) { if(j==h) { gotoxy(38,7);printf("M. diagonal principal"); 12
  • 13. [Escribir el título del documento] gotoxy(c,f);printf("%d",matriz[j][h]); c=c+3; f=f+1; }}} gotoxy(10,20);printf("1 para seguir 0 para salir ");scanf("%d",&op); } while(op==1); getch(); } Ejecución del programa: 13
  • 14. [Escribir el título del documento] Diagonal secundaria Es donde las filas se van aumentando hasta el límite y las columnas se van disminuyendo desde el límite hasta 1. Orden ascendente las filas. Orden descendente las columnas. Ejemplo: 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3 Diagonal secundaria 4. Diseñe un programa que me permita generar múltiplos de cualquier factor ingresado desde teclado, solo en las diagonales principal y secundaria, las demás posiciones se llenan con valores ceros. Análisis:  El siguiente programa vamos a realizar en lenguaje C, utilizando la instrucción gotoxy para ordenar en filas y columnas.  También utilizamos la instrucción clrscr (); para borrar la pantalla cada vez que se ejecute el programa, getch (); para la pausa del programa.  También utilizamos la función borde para el margen o borde y en el programa principal llamamos a la función borde.  Ingresamos un límite para el límite de la matriz.  Declaramos a la matriz de tipo entero.  Utilizamos dos lazos for para ingresar una matriz. También utilizamos una condición if que la fila sea igual a la columna para coger los datos de la diagonal principal. 14
  • 15. [Escribir el título del documento]  Para la diagonal secundaria se utiliza un contador que le inicializamos en 1 para el control de las columnas. Y la variable de la columna debe irse disminuyendo de 1 en 1.  Utilizamos la instrucción scanf para ingresar datos en la matriz.  Utilizamos la instrucción printf para visualizar o imprimir los datos de la matriz.  Utilizamos la sentencia do while para repetir el proceso las veces que el usuario lo desee. Codificación: #include<conio.h> #include<stdio.h> int i,l,c,f,g,j,fac,m,h,c1,cont,c1,h1,op,c2; int matriz[10][10]; void borde() { for(i=1;i<=80;i++) { textcolor(5); gotoxy(i,1);cprintf("%",i); gotoxy(i,24);cprintf("%",i); } for(i=1;i<=24;i++) { textcolor(7); gotoxy(1,i);cprintf("%",i); gotoxy(80,i);cprintf("%",i); } } void main() { do { clrscr(); borde(); gotoxy(30,4);printf("MATRICES"); gotoxy(4,7);printf("INGRESE UN LIMITE: ");scanf("%d",&l); gotoxy(4,9);printf("INGRESE UN FACTOR: ");scanf("%d",&fac); c=15; f=15; m=1; h=1; 15
  • 16. [Escribir el título del documento] c=25; f=15; m=1; h=1; for(j=1;j<=l;j++) { for(g=1;g<=l;g++) { if(j==g) { m=fac*h; matriz[j][g]=m; gotoxy(c,f);printf("%d",matriz[j][g]); h=h+1; } else { gotoxy(c,f);printf("0"); } c=c+3; } c=25;f=f+3; } c2=26; c1=c2+l-1; f=15; cont=1; h1=h; for(j=1;j<=l;j++) { m=fac*h1; matriz[j][cont]=m; gotoxy(c1+3,f);printf("%d",matriz[j][cont]); h1=h1+1; gotoxy(10,22);printf("DESEA REPETIR EL PROCESO 1 PARA SEGUIR 0 PARA SALIR ");scanf("%d",&op); } while(op==1); getch(); } Ejecución del programa: 16
  • 17. [Escribir el título del documento] Bibliografía  http://c.conclase.net/curso/?cap=003C++ contienen, como mínimo, una función.  http://www.fismat.umich.mx/mn1/manual/node7.html 17