Arreglos en C++ (una y dos dimensiones) COMP 242 Prof. Carlos Rodríguez Sánchez
Inicialización de un Arreglo durante la declaración Ejemplo: double sales[5] = {12.25, 32.50, 16.90, 23, 45.68}; Causa que en memoria se defina un arreglo y su contenido como sigue: 12.25 32.50 16.90 23.00 45.68 0 1 2 3 4
Inicialización de un Arreglo durante la declaración Alternativa 2 double sales[ ] = {12.25, 32.50, 16.90, 23, 45.68}; No es necesario especificar el tamaño del arreglo mientras se inicializa.
Inicialización Parcial de un Arreglo durante la declaración Ejemplo 1: int list[10] = {0}; Declara un arreglo llamado list de diez posiciones e inicializa cada posición con 0 Ejemplo 2: int list[10] = {8, 5, 12}; Declara un arreglo llamado list de diez posiciones e inicializa la posición 0 con el valor de 8, la posición 1 con el valor 5, la posición 2 con el valor de 12, y las restantes posiciones con 0.
Arreglos de dos dimensiones Colección de un número fijo de componentes organizados en filas y columnas Formato: dataType arrayName[intExp1] [intExp2]; donde intExp1 y intExp2 son expresiones constantes que especifican el número de las filas y las columnas del arreglo.
Arreglos de dos dimensiones Ejemplo: Definir arreglo de nombre inStock donde se almacenen el total de automóbiles clasificados por colores double inStock[6][5]; Declara un arreglo de 6 filas por 5 columnas
Arreglos de dos dimensiones Ejemplo: inStock red brown black white gray GM Ford Toyota BMW Nissan Volvo
Arreglos de dos dimensiones / Inicialización durante la declaración Ejemplo: int inStock[6] [5] = {{10, 7, 12, 10, 4}, {18, 11, 15, 17, 10}, {12, 10, 9, 5, 12}, {16, 6, 13, 8, 3}, {10, 7, 12, 6, 4}, {9, 4, 7, 12, 11}};
Arreglos de dos dimensiones Captura de datos for(int row = 0; row <6; row ++) for (int col = 0; col < 5; col ++) cin >> inStock[row][col];
Arreglos de dos dimensiones Suma por filas Loop for for (int row = 0; row < 6; row ++) { sum = 0; for (int col = 0; col < 5; col ++) sum = sum + inStock[row][col]; cout << “Sum of row “ << row + 1 << “=“ << sum << endl; }
Arreglos de dos dimensiones Suma por columnas for (int col = 0; col < 5; col ++) { sum = 0; for (int row = 0; row < 6; row ++) sum = sum + inStock[row][col]; cout << “Sum of column “ << col +1 <<“=“ << sum << endl; }
Arreglos de dos dimensiones Mostrar el contenido de un arreglo: for (int row = 0; row < 6; row ++) { for (int col = 0; col < 5; col ++) cout << inStock[row][col]; << “ “; cout << endl; }
system("pause"); #include<iostream> using namespace std; int main() { int sum; int inStock[6][5]; // Entrada de datos a la matriz inStock cout << "Entre los datos a la matriz inStock, separados por un espacio" << endl; for(int row = 0; row <6; row ++) for (int col = 0; col < 5; col ++) cin >> inStock[row][col]; // Suma de las filas de la matriz inStock for (int row = 0; row < 6; row ++) sum = 0; sum = sum + inStock[row][col]; cout << "Sum of row " << row + 1 << "=" << sum << endl; } //Suma de la columnas de la matriz inStock cout << "Sum of column " << col +1 <<"=" << sum << endl; // Mostrar el contenido de la matriz inStock cout << inStock[row][col] << " "; cout << endl; system("pause"); return 0;
Resultados: