Ejemplos Prácticos de Arreglos y Matrices en C++

Clasificado en Matemáticas

Escrito el en español con un tamaño de 5,8 KB

A continuación, se presentan diversos ejemplos de código en C++ que ilustran el uso de arreglos (vectores) y matrices. Cada ejemplo incluye una breve descripción del problema resuelto y el código fuente correspondiente.

1. Arreglo de Enteros: Encontrar el Mayor y el Menor

Este programa declara un arreglo de 10 elementos llamado enteros, inicializado con valores predefinidos. Luego, utiliza un ciclo for para recorrer el arreglo y determinar el elemento mayor y menor. Finalmente, imprime los resultados.

#include <iostream>
#include <limits>

int main() {
    int enteros[10] = {5, -4, 9, 8, 7, -6, 2, 1, -3, 0};
    int may = enteros[0], men = enteros[0];

    for (int i = 1; i < 10; i++) {
        if (enteros[i] > may) may = enteros[i];
        if (enteros[i] < men) men = enteros[i];
    }

    std::cout << "El número mayor del arreglo es: " << may << std::endl;
    std::cout << "El número menor del arreglo es: " << men << std::endl;

    return 0;
}

2. Arreglo de Cadenas: Captura y Despliegue de Nombres

Este programa declara un arreglo de 6 elementos llamado Nombres. Utiliza un ciclo for para capturar cadenas de caracteres ingresadas por el usuario mediante cin.getline() y las asigna a cada elemento del arreglo. Finalmente, utiliza un ciclo while para mostrar el contenido de cada elemento.

#include <iostream>
#include <string>

int main() {
    std::string Nombres[6];
    
    for(int i = 0; i < 6; i++) {
        std::cout << "Introduce nombre y apellidos " << i << ": ";
        std::getline(std::cin, Nombres[i]);
    }

    int i = 0;
    while (i < 6 ){
        std::cout << "Nombres[" << i << "]= " << Nombres[i] << std::endl;
        i++;
    }

    return 0;
}

3. Arreglo de Enteros: Inicialización Aleatoria y Despliegue

Este ejemplo utiliza la cabecera cstdlib para generar números aleatorios. El programa declara un arreglo de 10 elementos llamado Valores. Utiliza la función rand() dentro de un ciclo for para cargar cada elemento del arreglo con un valor aleatorio. Finalmente, muestra el contenido del arreglo utilizando un ciclo do-while.

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    std::srand(std::time(0)); // Inicializa la semilla del generador de números aleatorios
    int Valores[10];

    for(int i = 0; i < 10; i++)
        Valores[i] = std::rand();

    int i = 0;
    do {
        std::cout << "Valores[" << i << "]= " << Valores[i] << std::endl;
        i++;
    } while(i < 10);

    return 0;
}

4. Matriz de Enteros: Suma de Filas

Este programa lee una matriz de enteros de 5 filas y 4 columnas (definidas por constantes) y posteriormente calcula la suma de los elementos de cada fila.

#include <iostream>

#define FILAS 5
#define COLUMNAS 4

int main() {
    int matriz[FILAS][COLUMNAS];
    int suma;

    // Lectura de la matriz
    for(int i = 0; i < FILAS; i++) {
        for(int j = 0; j < COLUMNAS; j++) {
            std::cout << "Dame el elemento de la fila " << i << " y columna " << j << ": ";
            std::cin >> matriz[i][j];
        }
    }

    // Cálculo y despliegue de la suma de cada fila
    for(int i = 0; i < FILAS; i++) {
        suma = 0;
        for(int j = 0; j < COLUMNAS; j++) {
            suma += matriz[i][j];
            std::cout << matriz[i][j] << " ";
        }
        std::cout << "La suma es: " << suma << std::endl;
    }

    return 0;
}

5. Matriz de Enteros: Suma de la Diagonal Principal

El programa declara y carga en forma aleatoria una matriz de 5x5 (con valores de 10 a 99) y suma los elementos de la diagonal principal, imprimiendo el resultado.

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    int Matriz[5][5], suma = 0;
    std::srand(std::time(0));

    // Carga aleatoria de la matriz
    for(int i = 0; i < 5; i++)
        for (int j = 0; j < 5; j++)
            Matriz[i][j] = 10 + std::rand() % 90;

    // Cálculo y despliegue de la suma de la diagonal principal
    for(int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            std::cout << Matriz[i][j] << " ";
            if (i == j) suma += Matriz[i][j];
        }
        std::cout << std::endl;
    }

    std::cout << "La suma de los elementos de la diagonal principal es: " << suma << std::endl;

    return 0;
}

6. Matriz de Enteros: Producto de la Diagonal Invertida

El programa declara y carga en forma aleatoria una matriz de 6x6 y obtiene el producto de la diagonal invertida, imprimiendo el resultado.

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    int Matriz[6][6];
    long producto = 1;
    std::srand(std::time(0));

    // Carga aleatoria de la matriz
    for(int i = 0; i < 6; i++)
        for (int j = 0; j < 6; j++)
            Matriz[i][j] = 10 + std::rand() % 90;

    // Cálculo y despliegue del producto de la diagonal invertida
    for(int i = 0; i < 6; i++) {
        for (int j = 0; j < 6; j++) {
            std::cout << Matriz[i][j] << " ";
            if ((i + j) == 5) producto *= Matriz[i][j];
        }
        std::cout << std::endl;
    }

    std::cout << "El producto de los elementos de la diagonal invertida es: " << producto << std::endl;

    return 0;
}

Entradas relacionadas: