Programación I, Guía 7 1
Facultad : Ingeniería
Escuela : Computación
Asignatura: Programación I
Tema: “ARREGLOS EN C++”.
Objetivos
• Implementar arreglos.
• Resolver problemas aplicando arreglos.
Introducción
Los arreglos (arrays) permite almacenar vectores y matrices. Los arreglos
unidimensionales sirven para manejar vectores y los arreglos bidimensionales para
matrices. Sin embargo, las matrices también se pueden almacenar mediante arreglos
unidimensionales y por medio de apuntadores a apuntadores.
1. Arreglo unidimensional o vector.
Un arreglo unidimensional o vector es un conjunto de posiciones continuas en memoria de
memoria relacionadas entre sí, que se identifican por mismo nombre o identificador y
almacenan valores del mismo tipo. Y la manipulación de cada posición o elemento se
realiza a través de un índice.
Sintaxis:
Tipo nombre [longitud]; // Declaración.
Tipo puede ser: int, float, double, char, string, etc.
Longitud: es el número de posiciones o elementos que tiene el arreglo.
nombre[i]; //posición o elemento i.
El índice i puede tomar valores desde 0 hasta (longitud -1).
2 Programación I, Guía 7
Ejemplo:
Un arreglo unidimensional A es una estructura que puede almacenar n valores de un solo
tipo de dato y cada uno se le puede asignar o acceder a través de un índice.
A [ 0] A [1] A [2] A [3]
A [ 4];
Sintaxis:
int A[4]; // se declara un arreglo unidimensional A de tamaño 4 de tipo entero
Esto significa que esta estructura puede almacenar 4 datos de tipo entero y una de las
formas de asignarle valores es utilizando la variable índice i:
A[0]=33
A[1]=2
A[2]=5
A[3]=122
A [ 0] A [1] A [2] A [3]
33 2 5 122
Otra forma de capturar datos es hacerlo con una estructura de repetición
for(int i=0;i<4;i++)
cin>>A[i];
Observe que a pesar que el tamaño del arreglo A es 4, el índice toma valores desde 0
hasta el 3. Esto porque el valor de inicio de toda variable índice comienza en 0.
De acuerdo a la dimensión del arreglo así se tiene igual número de variables índices. En
nuestro caso como es unidimensional o sea una sola dimensión entonces será necesaria
solo una variable índice (i).
2. Un arreglo n-dimensional o matriz.
Un arreglo n-dimensional es un conjunto de posiciones continuas de memoria
relacionadas entre sí, que se identifican por un mismo nombre o identificador y almacenan
valores del mismo tipo. La manipulación de cada posición o elemento se realiza a través
de n-índices.
Si se necesita crear un arreglo de 2 dimensiones (matriz), este utiliza 2 índices
[filas][columnas].
Programación I, Guía 7 3
Sintaxis de un arreglo bidimensional o matriz:
Tipo_dato Identificar[FILAS][COLUMNAS];
Por ejemplo: Un arreglo de dos dimensiones de tamaño 3x3 (3 filas y tres columnas)
Se declara así: int M[3][3];
Se representa por:
0 1 2 (columna)
0 1 7 8 Contiene el valor de 11
1 9 10 11 en la fila 1, columna 2
2 12 13 14 ( M[1][2] = 11 )
(filas) M (3x3)
Materiales y equipos
• Guía de Laboratorio Nº 7 .
• Computadora con programa Dev C++.
• Dispositivo de Almacenamiento (USB).
Procedimiento
I) Realizar los siguientes programas de ejemplo.
G7_Ejemplo_1:
Programa que utiliza un procedimiento para mandar a imprimir un arreglo de 5 posiciones.
#include<iostream>
using namespace std;
void imprimir(int b[], int tamano);
4 Programación I, Guía 7
int a[5]; // Definición de un arreglo de 5 posiciones
int main()
int i;
// Pedimos el ingreso de 5 números
for(i=0; i<5; i++) //No olvidar que los arreglos van de 0 a longitud-1
cout << "Ingrese el elemento Nro: " << i <<endl;
cin >> a[i];
// Los imprimimos
imprimir(a,5);
return 0;
void imprimir(int b[], int tamano)
int i;
for(i=0; i<tamano; i++)
cout<< "Nro: "<< i<<" "<<b[i]<<endl;
system("pause");
G7_Ejemplo_2:
Programa que utiliza un arreglo unidimensional y un matriz.
Programación I, Guía 7 5
#include <iostream>
using namespace std;
int main()
char nombre_pro[5][30];
float precio_pro[5];
int i;
float suma=0;
for(i=0;i<5;i++)
//se capturan los nombres
cout<<"\nIngrese el nombre del producto"<<i+1;
cin>>nombre_pro[i];
//se capturan los precios
cout<<"\nIngrese el precio del producto: "<<i+1;
cin>>precio_pro[i];
//en este for sumaremos todos los precios y utilizaremos el acumulador suma
for(i=0;i<5;i++)
suma+=precio_pro[i];
system("pause");
system("cls");
//Imprimir los productos
for(i=0;i<5;i++)
cout<<"Producto:"<<nombre_pro[i]<<" \tPrecio:"<<precio_pro[i]<<endl;
6 Programación I, Guía 7
cout<<"\n\nEl total a pagar es de: "<<suma<<endl;
system("pause");
return (0);
G7_Ejemplo_2:
Programa que realiza una suma de matrices de 2 filas y 3 columnas:
Ejemplo.
#include <iostream>
using namespace std;
void imprime(int matriz[2][3]);
int main()
int i,j;
int A[2][3],B[2][3],C[2][3];
//Ingreso de matriz A. El for externo será para insertar las filas el for interno para insertar
//las columnas.
cout<<"\nIngreso de datos matriz A:"<<endl;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cout<<"\nIngrese el elemento["<<i+1<<"]["<<j+1<<"]: ";
cin>>A[i][j];
}
Programación I, Guía 7 7
cout<<"\nIngreso de datos matriz B:"<<endl;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cout<<"\nIngrese el elemento["<<i+1<<"]["<<j+1<<"]: ";
cin>>B[i][j];
//cálculo
for(i=0;i<2;i++)
for(j=0;j<3;j++)
C[i][j]=A[i][j]+B[i][j];
system("pause");
system("cls");
cout<<"\nMATRIZ A\n";
imprime(A);
cout<<"\nMATRIZ B\n";
imprime(B);
cout<<"\nMATRIZ C\n";
imprime(C);
system("pause");
return (0);
void imprime(int matriz[2][3])
8 Programación I, Guía 7
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cout<<"\t"<<matriz[i][j];
cout<<"\n";
Análisis de resultados
G7_Ejercicio_1:
Modifique el programa 1 para que pida:
Nombre del producto, Precio Unitario y Cantidad del producto que se comprará, tomar en
cuenta que el precio unitario se multiplicará por la cantidad a comprar.
G7-Ejercicio_2:
Generar la matriz que se le presenta a continuación. Utilizando dos funciones una para
ingresar los datos y la otra para mostrarlos.
[01] [02] [03] [04]
[08] [07] [06] [05]
[09] [10] [11] [12]
Investigación complementaria.
G7_Problema_1:
Generar la matriz que se le presenta a continuación. Utilizando dos funciones una para
ingresar los datos y la otra para mostrarlos.
Programación I, Guía 7 9
[01] [02] [03] [04]
[05] [06] [07] [00]
[08] [09] [00] [00]
[10] [00] [00] [00]
G7_Problema_2:
Escribir un programa que permita visualizar el triángulo de Pascal.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
En el triángulo de Pascal cada número es la suma de los dos números situados encima
de él. Este problema se debe resolver utilizando arrays.
G7_Problema_3:
Escribir un programa que lea las dimensiones de una matriz, lea y visualice la matriz y a
continuación encuentre el mayor y menor elemento de la matriz y sus posiciones.
Bibliografía.
• Programación en C, Metodología, estructurada de datos y objetos, Luis Joyanes
Aguilar Ignacio Zahonero Martínez, McGrawHill.
• Como programar en C++, cuarta edición, Deitel Deitel.
10 Programación I, Guía 7
Hoja de cotejo: 7
1
Guía 7: Arreglos en c++.
Alumno: Máquina No:
Docente: GL: Fecha:
EVALUACION
% 1-4 5-7 8-10 Nota
CONOCIMIENTO 40
APLICACIÓN
DEL 40
CONOCIMIENTO
ACTITUD
20
TOTAL
100%