• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Universidad técnica de ambato
 

Universidad técnica de ambato

on

  • 694 views

VECTORES Y MATRICES

VECTORES Y MATRICES

Statistics

Views

Total Views
694
Views on SlideShare
694
Embed Views
0

Actions

Likes
0
Downloads
25
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Universidad técnica de ambato Universidad técnica de ambato Presentation Transcript

    •  ALUMNO:  DIEGO RODRIGO JURADO ORTUÑO TUTORA:  MSC. ING. WILMA GAVILANEZ MODULO  PROGRAMACIÓN SEMESTRE:  TERCER SEMESTRE
    •  Un vector, también llamado ARRAY (ARREGLO) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno despues de otro. A este grupo de elementos se les identifica por un mismo nombre y la posición en la que se encuentran. La primera posición del array es la posición 0.
    •  Podríamos agrupar en un array una serie de elementos de tipo enteros, flotantes, caracteres, objetos, et c. Crear un vector en c++ es sencillo, seguimos la siguiente sintaxix: Tipo nombre[tamaño]; Aula[25]; int a[5];//Vector de 5 enteros float b[5];//vector de 5 flotantes
    •  int a[] = {5,15,20,25,30}; float b[] = {10.5,20.5,30.5,12.5,50.5}; Producto product[] = {celular,calculadora,camara,ipod,usb};
    •  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: ver fuente Imprimir? int matriz[filas][colns]; 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.
    •  Lasmatrices 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 definicion lo indica, un vector de vectores, es decir, los vectores estan uno detras del otro juntos.
    •  La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2 subindices 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<filas;i++) { for(int j=0;j<colns;j++) { matriz[i][j] = i % j; } }
    •  PUNTEROS El valor de todas las variales que manejamos en nuestros programas se almacenan en memoria y tienen una dirección. Un puntero es una variable especial que apunta a la dirección de memoria de una variable. El puntero tiene a su vez su propia dirección. Todas estas direcciones tienen un formato hexadecimal.
    •  Los punteros son herramientas muy poderosas con muchas utilidades y enormes ventajas como veremos más adelante. A grandes rasgos, un puntero me permite desplazarme en la memoria, apuntar, re direccionar a ciertas variables, funciones, métodos, objetos sin necesidad de mover grandes bloques de datos, lo cual nos ahorra muchísimo el consumo de memoria en los programas.
    •  Un puntero se debe declarar de acuerdo al tipo de dato al que apunta. Ejem: int *var; //Un puntero llamado var que podrá apuntar a cualquier variable de tipo entero. char *u;//puntero de tipo char Persona *per;//puntero de tipo persona
    • //Matriz que genera la serie del fibonacci#include<conio.h>#include<stdio.h>int i,j, N, vec1[10], mat[10][10];int main(){ int a=0, b=0, c=0, k; a=-1; b=1; clrscr(); gotoxy(2,2);cprintf("Ingrese el tamanio de la matriz: "); scanf("%d",&N); //mat[0][0] = c; // Ingreso de datos a la matriz for(i=0; i<N; i++) { k = 0; for(j=0; j<N; j++, k+=4) { c = a+b; a = b; b = c; mat[i][j] = c; gotoxy(5+k, 4+i); printf("%d", mat[i][j]); } }getch();return 0;}
    • DISEÑE UN PROGRAMA PARAINGRESAR DATOS CON ESTRUCTURASDE DATOS
    • #include<stdio.h> gotoxy(10,3);printf("PROGRAMA PARA INGRESAR#include<conio.h> DATOS CON ESTRUCTURAS DE DATOS");#include<stdlib.h> gotoxy(8,4);printf("Ingrese el numero destruct datos1 ingresos:");scanf("%d",&n);{ fila=7;char cedula[15]; for(i=1;i<=n;i++)char nombres[15]; {char apellidos[15]; flushall();int edad; gotoxy(8,5);printf("CEDULA NOMBRES} APELLIDOS EDAD");datos[10]; void borde() gotoxy(8,fila);gets(datos[i].cedula); { gotoxy(25,fila);gets(datos[i].nombres); int i; gotoxy(40,fila);gets(datos[i].apellidos); for(i=2;i<=78;i++) gotoxy(60,fila);scanf("%d",& edad); { fila=fila+1; gotoxy(i,2);printf("*"); } gotoxy(i,24);printf("*"); gotoxy(30,13);printf("SALIDA DE DATOS"); } fila=14; for(i=2;i<=24;i++) for(i=1;i<=n;i++) { { gotoxy(2,i);printf("*"); gotoxy(8,fila);puts(datos[i].cedula); gotoxy(78,i);printf("*"); gotoxy(25,fila);puts(datos[i].nombres); } gotoxy(40,fila);puts(datos[i].apellidos);} gotoxy(60,fila);printf("%d", edad); void main() fila=fila+1; { } gotoxy(10,22);printf("Ingrese 1para continuar y 0 int edad ,op,i,n,fila; para salir:");scanf("%d",&op); do{ } clrscr(); while(op==1); borde(); getch(); }
    • #include<stdio.h> for(i=1;i<=lim;i++)#include<conio.h> {void main() for(j=1;j<=lim;j++){ {int i,j,col,fila,lim,op,a,x; col=col+2;int matriz1[10][10]; gotoxy(col,fila);printf("%d",matriz1[i][j]);do{ }clrscr(); fila=fila+1;for(i=3;i<=80;i++) col=25;{ }gotoxy(i,3);printf("*"); col=50;gotoxy(i,50);printf("*"); fila=8;} for(i=1;i<=lim;i++) {for(i=3;i<=50;i++) for(j=1;j<=lim;j++){ {gotoxy(3,i);printf("*"); if(i==j)gotoxy(80,i);printf("*"); {} gotoxy(col,fila);printf("%d",matriz1[i][j]);col=8;fila=8; col=col+5;gotoxy(20,3);printf("PROGRAMA PARA FORMAR UNA MATRIS fila=fila+1; EN X"); }gotoxy(10,5);printf("Ingrese el limite:");scanf("%d",&lim); for(a=1;a<=lim;a++)gotoxy(10,7);printf("ENTRADA SALIDA DIAGONAL { "); gotoxy(col,fila);printf("%d",matriz1[a][x]);for(i=1;i<=lim;i++) x=lim-1;{for(j=1;j<=lim;j++) }{ }gotoxy(col,fila);scanf("%d",&matriz1[i][j]); }col=col+2; gotoxy(10,45);printf("INGRESE 1 PARA CONTINUAR Y 0 PARA} SALIR");scanf("%d",&op);fila=fila+1; }col=8; while(op==1);} getch();col=25; }fila=8;
    • #include<stdio.h> col=5; }#include<conio.h> fila=fila+1; for(i=1;i<=lim;i++)int lim,col,col1,col2,fila,fila1,fila2,h,i,j,op,a; } { col1=25; for(h=1;h<=lim;h++)int { matriz1[20][20],matriz2[20][20],matriz3[ fila1=10; gotoxy(col2,fila2);printf("%d",matriz3[i][h]); 20][20]; for(i=1;i<=lim;i++) col2=col2+4;void borde() { }{ for(j=1;j<=lim;j++) col2=42;for(i=2;i<=25;i++) { fila2=fila2+1; }{ }gotoxy(2,i);printf("*"); void main() gotoxy(col1,fila1);scanf("%d",&matriz2[igotoxy(78,i);printf("*"); { ][j]);} do col1=col1+5; {for(i=2;i<=78;i++) } clrscr();{ col1=25; borde();gotoxy(i,2);printf("*"); fila1=fila1+1; gotoxy(20,3);printf("PRODUCTO ALGEBRAICO DEgotoxy(i,25);printf("*"); } UNA MATRIZ");} } gotoxy(7,5);printf("Ingrese el limite: void producto() ");scanf("%d",&lim);} { gotoxy(5,7);printf("MATRIZ_1");void ingreso() gotoxy(25,7);printf("MATRIZ_2"); col2=42;fila2=10;{ gotoxy(40,7);printf("PRODUCTO"); for(i=0;i<=lim;i++) ingreso();col=5; { producto();fila=10; for(j=0;j<=lim;j++) gotoxy(8,22);printf("Ingrese 1 para continuar y 0for(i=1;i<=lim;i++) { para salir:");scanf("%d",&op);{ matriz3[i][j]=0; } for(j=1;j<=lim;j++) for(h=0;h<=lim;h++) while(op==1); { { getch(); gotoxy(col,fila);scanf("%d",&matriz1[i][j]); matriz3[i][j]=matriz3[i][j]+matriz1[i][h]*m col=col+5; atriz2[h][j]; } } } }
    • #include<conio.h> } f=f+2; va=va+7;#include<stdio.h> } ma[i][j]=va;void main() f=19; gotoxy(c,f);printf("%d",ma[i][j]);{ } }int ma[50][50],vc[50],q,y,n,l,a,va,i,j,k,x,c,f; /*secundaria*/ f=7;clrscr(); k=n; } /*primaria2*/ textcolor(6);gotoxy (10,6); cprintf("INGRESE a=2; c=30; UN LIMITE "); scanf("%d",&n); for (i=1;i<=n;i++) f=19;f=7; {va=0; a=a+2; for(i=1;i<=n;i++) {c=10; textcolor(13); c=c+3;for (i=1;i<=n;i++) gotoxy(10+a,32- for(j=1;j<=n;j++) {{ i);cprintf("%d",ma[i][k]); f=f+1; c=c+3; vc[i]=ma[i][k]; for (j=1;j<=n;j++) k=k-1; if(i==j) { { } textcolor(10); f=f+2; y=7; gotoxy(c,f);cprintf("%d",ma[i][j]); vc[i]=ma[i][j]; va=va+5; for (x=1;x<=q;x++) ma[i][j]=va; { } y=y+1; } f=19; gotoxy(c,f);printf("%d",ma[i][j] gotoxy(48,y);cprintf("%d",vc[x]); } ); } /*secundaria2*/ } k=n; for (i=1;i<=n;i++) } { f=7; /*----------------------------------*/ textcolor(13); gotoxy(35+i,32-} f=7; i);cprintf("%d",ma[i][k]); vc[i]=ma[i][k];/*principal*/ va=0; k=k-1; c=30; } c=10; for (i=1;i<=n;i++) q=n*4; f=19; { /* y=7; for(i=1;i<=n;i++) c=c+3; for (x=1;x<=q;x++) {{ for (j=1;j<=n;j++) y=y+1;c=c+3; { gotoxy(48,y);cprintf("%d",vc[x]); }*/for(j=1;j<=n;j++) getch(); { f=f+1; if(i==j){
    • # include<stdio.h> fil=20;#include<conio.h> for(i=1;i<=lim;i++)void main() {{ v2[i]=impar*i;int v1[20], v2[20], v3[20], v4[20], i , lim, par, impar,col,fil; gotoxy(20,15);printf("V2");clrscr(); gotoxy(col+5,fil);printf("%d",v2[i]);gotoxy(25,4);printf("OPERACIONES ENTRE VECTORES"); fil=fil+1;gotoxy(10,6);printf("INGRESE EL LIMITE ==> : } ");scanf("%d", &lim);do fil=20; { for(i=1;i<=lim;i++) gotoxy(25,8); printf(" "); { gotoxy(10,8);printf("INGRESE EL NUMERO PAR ==> : "); v3[i]=v1[i]*v2[i]; scanf("%d",&par); } gotoxy(25,15);printf("V3"); while(par % 2==1); gotoxy(col+10,fil);printf("%d",v3[i]);do fil=fil+1; { } gotoxy(25,10); printf(" "); gotoxy(10,10);printf("INGRESE EL NUMERO IMPAR ==> : "); fil=20; scanf("%d",&impar); for(i=lim;i>0;i--) } { while(impar % 2==0); v3[i]=v1[i]*v2[i];col=15; gotoxy(38,15);printf("V4");fil=20; gotoxy(col+20,fil);printf("%d",v3[i]);for(i=1;i<=lim;i++) fil=fil+1;{v1[i]=par*i; }gotoxy(14,15);printf("V1");gotoxy(col,fil);printf("%d",v1[i]); getch();fil=fil+1; }}
    • Diseñe un programa utilizando Matrices y Funciones que permita:1. Ingresar n elementos en una matriz con datos entre 5 y 35, excluyendo las diagonales2. principal y secundaria, en dónde la diagonal principal se llena con la serie del Fibonnaci3. y la diagonal secundaria con el factorial de los números ascendentes iniciando en 3.4. Recorra la matriz y guarde los datos de la diagonal principal en las posiciones pares del vector5. y los datos de la diagonal segundaria en las posiciones impares del vector.6. Presente como resultado el vector origen resultante y el mismo vector preséntelo impreso en forma descendente