Olimpiada Oaxaqueña de Informática
  • Bienvenido a la Olimpiada Oaxaqueña de Informática
  • Temario
    • Introducción a la Programación
      • Definición de computadora
      • Definición de Sistema Operativo
      • Definición de lenguaje de programación
      • Definición de compilador
      • Sistema Binario y Hexadecimal
      • Operaciones AND, OR, NOT, XOR
      • Definición y ejemplo de algoritmos
      • Representación gráfica de un algoritmo
      • Qué es un pseudocódigo
        • Estructura base y Variables
        • Condicionales y ciclos
      • Configuración e instalación de compilador de C y C++
    • Lenguajes de Programación C y C++
      • Presentación de C y C++ como lenguajes de programación
      • Estructura de un programa en C++
        • Ejemplos de códigos en C++
      • Tipos de datos y variables
      • Entrada y salida de datos STDIN SDTOUT
      • Estructuras de Control y Repetición
      • Introducción a estructuras de datos: arreglos
    • Algoritmos de ordenamiento
      • Bubble Sort
    • Estructuras de datos
      • Pilas (Stack)
    • Paradigmas de Solución de Problemas
    • Gráfos
    • Matemáticas
    • Procesamiento de Cadenas
  • OOI 2019
    • Cursos online
      • Clase 1
      • Clase 2
      • Clase 3
      • Clase 4
      • Clase 5
      • Clase 6
      • Clase 7
      • Clase 8
      • Clase 9
      • Clase 10
      • Clase 11
      • Clase 12
      • Clase 13
      • Clase recursión introductorio
  • OOI 2020
    • Instrucciones para nuevos miembros
    • Cursos introductorios
      • Clase 1
      • Clase 2
      • Clase 3
      • Clase 4
      • Clase 5
      • Clase 6
      • Clase 7
      • Clase 8
      • Clase 9
      • Clase 10
      • Clase 11
      • Clase 12
      • Clase 13
      • Clase 14
      • Clase 15
      • Clase 16
      • Clase 17
      • Clase 18
      • Clase 19
      • Clase 20
      • Clase 21
      • Clase 22
    • Cursos avanzados
      • Temario
      • Sesión 1
      • Sesión 2
      • Sesión 3-4
      • Sesión 5
      • Sesión 6
      • Sesión 7
      • Sesión 8
      • Sesión 9-10
      • Sesión 11
      • Sesión 12
      • Sesión 13
      • Sesión 14
      • Sesión 15
      • Sesión 16
      • Sesión 17
      • Sesión 18
      • Sesión 19
      • Sesión 20
      • Sesión 21
      • Sesión 22
    • Cursos matemáticas discretas
      • Sesión 1
      • Sesión 2
  • OOI 2021
    • Fase 4. Semana 1
  • Misceláneos
    • Complejidad de un algoritmo
    • Tutorial instalación VS Code, compilador y debugger para C++
Powered by GitBook
On this page
  • Temas
  • Códigos vistos en clase
  1. OOI 2020
  2. Cursos introductorios

Clase 19

Clase del 30 de enero de 2020

PreviousClase 18NextClase 20

Last updated 5 years ago

Temas

Arreglos de dos dimensiones. Matrices.

Tarea:

Códigos vistos en clase

matrices.cpp
// Representar arreglos de una dimension y de dos
#include <iostream>

using namespace std;

int main() {
    // Declarar un arreglo utilizando la forma nativa
    // Importante: El arreglo no se inicia en ceros
    int tam_arreglo = 5;
    int arreglo[tam_arreglo]; // {?, ?, ?, ?, ?}
    // Para acceder al elemento i, se utiliza arreglo[i]

    // Declarar un arreglo de 2 dimensiones utlizando la forma nativa
    int filas    = 3;
    int columnas = 2;
    // Tamanio de la matriz sera de filas * columnas
    int matriz[filas][columnas]; 
    // La matriz se veria asi:
    // {
    // {?, ?},
    // {?, ?},
    // {?, ?}
    // }

    // NOTA: Las filas se indexan de arriba hacia abajo, empezando en 0.
    //       Las columnas se indexan de izquierda a derecha, empezando en 0.
    // Para acceder a un elemento, se hace lo siguiente:
    // Ejemplo: Acceder a la tercer fila en la segunda columna
    // matriz[2][1]

    int contador = 0;
    // Recorrer cada fila de la matriz
    for (int fila = 0; fila < filas; fila++) {
        // Recorrer cada espacio de las columnas dentro de esta fila
        for (int columna = 0; columna < columnas; columna++) {
            matriz[fila][columna] = contador;
            contador++;
        }
    }

    // Imprimir los valores de la matriz
    for (int fila = 0; fila < filas; fila++) {
        for (int columna = 0; columna < columnas; columna++) {
            cout << matriz[fila][columna] << " ";
        }
        cout << "\n";
    }

    // Imprimir el valor en tercera fila y segunda columna
    cout << "Valor de la casilla 2,1: " << matriz[2][1];

    return 0;
}

Video:

https://classroom.google.com/c/NDMwODQ5NTE4MjFa/a/NTA4Mjg4NzE2NTda/details
https://github.com/omioaxaca/ooi-2020/tree/master/sesiones/sesion-19
https://youtu.be/OiZlmOSaxMY