- página 1 - Guía de Programación Estructurada PRÁCTICA VI: Vectores ó Matrices Unidimensionales. OBJETIVOS: o Conocer un tipo de dato compuesto, llamado vectores. o Conocer la utilidad de esta estructura de datos. o Comprender y aprender a declarar un vector o matriz unidimensional. o Comprender y aprender a acceder a un vector o matriz unidimensional. o Comprender con más detalle el acceso a los datos de un vector mediante un programa. o Conocer la representación grafica de un vector. o Facilitar la comprensión de de un vector mediante una representación grafica de dicha estructura de datos. o Conocer y aprender la sintaxis para la declaración de un vector en un programa. o Resolver ejercicios propuestos para el entendimiento la declaración y el acceso a datos en un vector. o Utilizar bucles conjuntamente con vectores para la comprensión de programas. o Comprender los programas resueltos que se tienen en las prácticas. o Utilizar bucles conjuntamente con vectores para resolver programas propuestos - página 2 - Guía de Programación Estructurada 1.- VECTORES Ó MATRICES UNIDIMENSIONALES. Es un conjunto de datos del mismo tipo, estos tienen un orden y cumple la función de almacenamiento de datos durante la ejecución del programa. En palabras sencillas y fáciles de comprender un vector es una lista, una relación. Veamos la representación grafica de un vector: Índices 0 1 2 3 4 5 Edad: 3 5 6 1 4 2 Por ejemplo tenemos un vector A de tamaño 6 de tipo entero que nos representa las edades de niños menores a 7 años. 2.- DECLARACIÓN DE UN VECTOR: Para declarar un vector usamos la siguiente sintaxis: <tipo_dato> <nombre_vector>[tamaño_vector]; Ejemplo: int Edad[6]; float notas[100]; . . . 3.- ACCESO A LOS DATOS DE UN VECTOR: Para poder acceder a los datos de un vector debemos de tener en cuenta los índices, veamos con el siguiente ejemplo: Con respecto al vector Edad anterior. #include <conio.h> #include <iostream.h> #include <dos.h> void main() { clrscr(); // 0 1 2 3 4 5 < indices int edad[6]={3,5,6,1,4,2}; cout<<edad[3]<<endl; Guía de Programación Estructurada - página 3 - cout<<edad[5]<<endl; cout<<edad[6]<<endl;//ERROR cout<<edad[9]<<endl;//ERROR cout<<"PRESIONE UNA TECLA PARA CONTINUAR . . ."<<endl; getch(); for(int i=0;i<6;i++) { cout<<edad[i]<<endl; } getch(); getch(); } DESARROLLAR LOS SIGUIENTES PROGRAMAS: Ejemplo 1: Desarrollar un programa que ingrese valores en un vector luego mostrar todos los valores de dicho vector. #include <conio.h> #include <iostream.h> #include <dos.h> void main() { clrscr(); int A[100]; int n; cout<<"Ingrese el tama¤o del vector: "; cin>>n; for(int i=0;i<n;i++) { cout<<"Ingrese el elmento "<<i<<": "; cin>>A[i]; } cout<<"LOS ELEMENTOS DEL VECTOR SON: "; for(i=0;i<n;i++) { cout<<A[i]<<" "; } getch(); } Guía de Programación Estructurada Ejemplo 2: - página 4 - Ingresar valores a un vector calcular el mayor elemento del vector. #include <conio.h> #include <iostream.h> #include <dos.h> void main() { clrscr(); int A[100]; int n; int ind; int mayor; cout<<"Ingrese el tama¤o del vector: "; cin>>n; for(int i=0;i<n;i++) { cout<<"Ingrese el elmento "<<i<<": "; cin>>A[i]; } mayor=A[0]; ind=0; for(i=1;i<n;i++) { if(A[i]>mayor) { mayor=A[i]; ind=i; } } cout<<"EL MAYOR ELEMENTOS ES: "<<mayor; cout<<endl; cout<<"SE ENCUENTRA EN EL INDICE: "<<ind; getch(); } Ejemplo 3: Llenar un vector con valores aleatorios entre -10 a 10 luego determinar cuantos positivos negativos y ceros contiene el vector, y en que lugar del vector se encuentran (índices). #include <conio.h> Guía de Programación Estructurada - página 5 - #include <iostream.h> #include <stdlib.h> void main() { clrscr(); int A[100]; int n; cout<<"Ingrese el tama¤o del vector: "; cin>>n; randomize(); for(int i=0;i<n;i++) { A[i]=random(20)-10; } cout<<"ELEMENTOS POSITIVOS\n"; for(i=0;i<n;i++) { if(A[i]>0) cout<<"VALOR: "<<A[i]<<" INDICE: "<<i<<endl; } cout<<"ELEMENTOS NEGATIVOS\n"; for(i=0;i<n;i++) { if(A[i]<0) cout<<"VALOR: "<<A[i]<<" INDICE: "<<i<<endl; } cout<<"ELEMENTOS IGUALES A CERO\n"; for(i=0;i<n;i++) { if(A[i]==0) cout<<"VALOR: "<<A[i]<<" INDICE: "<<i<<endl; } cout<<"ELEMENTOS DEL VECTOR\n"; for(i=0;i<n;i++) { cout<<A[i]<<" "; } Guía de Programación Estructurada - página 6 - getch(); } Ejemplo 4: Ordenar un vector ascendentemente. #include <conio.h> #include <iostream.h> #include <dos.h> void main() { clrscr(); int A[100]; int n; int aux; cout<<"Ingrese el tama¤o del vector: "; cin>>n; for(int i=0;i<n;i++) { cout<<"Ingrese el elmento "<<i<<": "; cin>>A[i]; } cout<<"ELEMENTOS DEL VECTOR "<<endl; for(i=0;i<n;i++) { cout<<A[i]<<" "; } for(i=0;i<n;i++) { for(int j=i;j<n;j++) { if(A[i]>A[j]) { aux=A[i]; A[i]=A[j]; A[j]=aux; } } } cout<<"ELEMENTOS DEL VECTOR ORDENADOS"<<endl; Guía de Programación Estructurada - página 7 - for(i=0;i<n;i++) { cout<<A[i]<<" "; } getch(); } Ejemplo 5: Llenar un vector de la siguiente manera. Ejemplo: A = {5, 1, 4, 7, 5} entonces el resultado será. A = {25,1,16,49,25} Usar un solo vector “A”. #include <conio.h> #include <iostream.h> void main() { clrscr(); int A[100]; int n; cout<<"Ingrese el tama¤o del vector: "; cin>>n; for(int i=0;i<n;i++) { cout<<"Ingrese el elmento "<<i<<": "; cin>>A[i]; } cout<<"ELEMENTOS DEL VECTOR:\n"; for(i=0;i<n;i++) { cout<<A[i]<<" "; } for(i=0;i<n;i++) { A[i]=A[i]*A[i]; } cout<<"\nELEMENTOS DEL VECTOR LUEGO DEL CAMBIO:\n"; Guía de Programación Estructurada - página 8 - for(i=0;i<n;i++) { cout<<A[i]<<" "; } getch(); } PROGRAMAS PROPUESTOS. Ejercicio 1: Desarrollar un programa que muestre los elementos de un vector en orden inverso. Ejercicio 2: Ingresar valores a un vector calcular el menor elemento del vector. Ejercicio 3: Ingresar elementos a un vector calcular su promedio, luego mostrar los elementos que son mayores menores o iguales con respecto al promedio, por ejemplo: Si ingresamos: 3 5 7 4 1 el promedios será 4 se tendrá que mostrar Mayores a 4: 5 7 Menores a 4: 1 3 Iguales a 4 : 4 Ejercicio 4: Ordenar un vector descendentemente. Ejercicio 5: Ingresar elementos a un vector y luego invertirlo. Ejemplo: Si ingresamos A = {1,5,7,4,2,6} luego A = {6, 2, 4, 7, 5, 1} Usar un solo vector “A”.