itsguasave.edu.mx
FUNDAMENTOS DE PROGRAMACION
Competencia:
• Conoce y aplica estructuras de datos en un lenguaje de programación
que permitan la organización de datos en la resolución de problemas
reales.
FUNDAMENTOS DE PROGRAMACIÓN
Arreglos
• En clase ya conocimos algunos tipos básicos como por ejemplo los tipos
char, int y float. El lenguaje C++ permite, además, construir estructuras
más complejas a partir de estos tipos básicos. Una de las construcciones
que podemos definir son los arreglos.
tipo nombre_variable[longitud];
Ejemplo:
int matricula[20];
Representación
Gráfica de un
Arreglo
FUNDAMENTOS DE PROGRAMACIÓN
Asignación de un arreglo:
nombre_variable[índice] = valor o expresión del tipo requerido;
Ejemplos:
calificaciones[9]=(cal1+cal2+cal3)/3;
calificaciones[7]=95;
• El índice debe ser una expresión del tipo entero en el rango [0, longitud-1].
• Cabe destacar que C++ no revisa que el valor de la expresión sea menor a
longitud, simplemente asigna el valor a esa posición de memoria como si
formara parte del arreglo.
FUNDAMENTOS DE PROGRAMACIÓN
Acceso al contenido de un arreglo:
• Aquí también vale la aclaración de que el índice debe estar dentro del
rango de definición del arreglo, C++ no revisará que esto sea cierto y
devolverá lo contenido en la posición de memoria correspondiente a un
arreglo de mayor longitud, el dato obtenido de esta manera es basura.
FUNDAMENTOS DE PROGRAMACIÓN
• Matricula de estudiante.
• Calificación en una materia con 3 parciales.
• Desplegar en pantalla el promedio por
alumno
• Desplegar en pantalla el promedio del
grupo.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
Ejemplo:
int myMatriz1[10][5];
float myMatriz2[5][10];
string myMatriz3[15][15];
FUNDAMENTOS DE PROGRAMACIÓN
¿Cómo inicializar una matriz en C++?
• En cuanto tenemos declarado una matriz, es posible asignarle valores a
cada una de sus casillas, sus valores deben coincidir con el tipo de dato que
le asignamos a dicha matriz.
Ejemplo:
int myMatriz[2][2] = {{1,2}, {3,4}};
Ejemplo:
int edades[3][2];
for (int i = 0; i < 3; i++) { // ciclo para filas
for (int j = 0; j < 2; j++) { // ciclo para columnas
edades[ i ][ j ]=0;
} // cierra ciclo de columnas
} // cierra ciclo de filas
FUNDAMENTOS DE PROGRAMACIÓN
Obtener el valor de una casilla específica
Ejemplo:
int myMatriz[2][2] = {{7,2},{1,4}}; //Matriz con 4 elementos
int num = myMatriz[0][0]; //Obtiene el valor de la casilla
cout << num << endl; //Despliega el valor obtenido que es 7
FUNDAMENTOS DE PROGRAMACIÓN
Recorrer una matriz en C++
• Para obtener todos los datos que se encuentran al interior de una matriz,
debemos acceder a cada posición, esto se hace fácilmente con dos ciclos
for (anidados).
int main() {
int edades[3][2] = {{1,2},{9,8},{14,21}};
for (int i = 0; i < 3; i++) { // ciclo para filas
for (int j = 0; j < 2; j++) { // ciclo para columnas
cout << edades[ i ][ j ] << endl;
} // cierra ciclo de columnas
} // cierra ciclo de filas
} // cierra main
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea una matriz de 3 filas y 3 columnas
de números enteros y que devuelva la suma de los elementos positivos de
la matriz y la suma de los elementos negativos.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea una matriz de 3 filas y 3 columnas
de valores enteros. A continuación, el programa debe pedir el número de
una fila. El programa deberá devolver el valor máximo de esa fila.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea un matriz de enteros de 2 filas y 4
columnas y muestre por pantalla la traspuesta a dicha matriz. Ejemplo:
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea una matriz de 3 filas y 3 columnas
de valores enteros. A continuación, el programa debe pedir el número de
una columna. El programa deberá devolver el la suma y el promedio de esa
columna.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea dos matrices enteras de 3 filas y 3
columnas y realice la suma correspondiente, considerando que la suma de
matrices puede realizarse solo si ambas tienen el mismo número de filas y
el mismo número de columnas.
https://www.youtube.com/watch?v=Jy8MESucw6o
FUNDAMENTOS DE PROGRAMACIÓN
Bibliografía