Вы находитесь на странице: 1из 2

Matriz o arreglos bidimensionales: Es un arreglo de dos dimensiones, est compuesto, por un conjunto de elementos homogneos

y se puede acceder a los datos utilizando dos subndices, como estructura agrupan muchos datos del mismo tipo, en donde cada
elemento se puede trabajar individualmente y se puede referenciar con un mismo nombre.

Se usan para representar datos que pueden verse como una tabla con filas y columnas.

Para Declarar una matriz se debe seguir la siguiente sintaxis:


Tipo_dato nombre_matriz [ndice fila] [ndice columna]
Float notas [10][3] Matriz formada por 10 filas y 3 columnas , en donde se guarda en cada una de sus posiciones un dato de tipo
float
int matriz [2][2]

Para referenciar un elemento de la matriz, debe darse un nombre de la matriz y el ndice de la fila y de la columna que el elemento
ocupa en dicha matriz. Es importante que los ndices de las matrices tanto de las filas como de las columnas empiezan en 0 y
terminan en tamao fila-1 y tamao columna-1 respectivamente.

Para referenciar a una posicin en particular de la matriz debemos seguir la siguiente sintaxis:
Nombre_matriz [subndice1] [subndice2]
Notas [1][1] hace referencia al elemento ubicada en la matriz notas en la fila 1, columna 1
Notas [2][3] hace referencia al elemento ubicada en la matriz notas en la fila 2, columna 3

Para tener acceso a los elementos de un arreglo bidimensional, se requieren dos ndices para acceder a sus elementos.

Si utilizamos: notas[i][j], asociamos i al ndice para indicar la posicin de la fila y j al ndice para indicar la posicin de la columna.

De igual forma es necesario implementar dos ciclos anidados, el ciclo ms externo para recorrer las filas y el ciclo ms interno para
recorrer las columnas, siguiendo con el ejemplo anterior para llenar la matriz notas se deben implementar los ciclos de la siguiente
forma:

NOTA: TENGA PRESENTE QUE EN C/C++ LA PRIMERA POSICIN DE UN ARREGLO ESTA DADA POR LA POSICIN CERO, EN ESTE
CASO LA VARIABLE (QUE SER UTILIZADA COMO INDICE) TANTO DEL CICLO DE LA FILA COMO EL DE LA COLUMNA SE DEBE
INICIALIZAR EN CERO.

for(i=0;i<10;i++){
for(j=0;j<3;j++){
cin>>notas[i][j];
}
}
ACTIVIDAD
A partir del siguiente programa, responder los interrogantes presentados

/*DESARROLLAR UN PROGRAMA QUE PERMITA CARGAR EN EL VECTOR NOTAS LA CALIFICACIN ASIGNADA A CADA UNO DE LOS N ESTUDIANTES
DEL GRUPO APLICACIONES PARA CADA UNO DE LOS TRES CORTES SE DEBE GENERAR LA NOTA PROMEDIO DE CADA ESTUDIANTE Y LA NOTA
PROMEDIO DEL GRUPO.*/

#include <iostream>
using namespace std;
int main()
{
int i,j, N;
float prom_est,acum_est=0, prom_grupo,acum_grupo=0;

cout<<"Ingrese el numero de estudiantes del grupo: ";


cin>>N;

float notas[N][3];

for(i=0;i<N;i++){
cout<<"Registrando Notas Del Estudiante No. " <<i+1 <<endl;
for(j=0;j<3;j++){
cout<<"Ingrese la Nota "<<j+1 <<"\t" ;
cin>>notas[i][j];
acum_est = acum_est + notas[i][j];
}
prom_est =acum_est/3;
cout<<"Nota Promedio del Estudiante: " <<prom_est <<endl;
acum_grupo = acum_grupo + prom_est;
acum_est =0;
}
prom_grupo = acum_grupo/N;
cout<<"Nota Promedio del Grupo: " <<prom_grupo <<endl;
system("pause");
return 0;

Escriba las lneas de cdigo donde:


1. Se declara la matriz e indique cul es su dimensin o tamao?
2. Cul es el ndice de la fila y el ndice de la columnas?
3. Que ciclo se utiliza para recorrer las filas y que ciclo se utiliza para recorrer las columnas?
4. Que instrucciones definen dnde se cargan o guardan los datos en la matriz?
5. Que ndica la instruccin acum_est = acum_est + notas[i][j];?
6. Por qu se hace la variable acum_est =0;?
7. Defina las instrucciones que se deben implementar para determinar cuntos estudiantes aprobaron cuantos reprobaron
8. Que instrucciones se deben implementar para determinar la cantidad de estudiantes que tienen una nota promedio por debajo del
promedio del grupo
9. Que instrucciones se deben definir para determinar cul es la nota promedio ms alta y cul es la ms baja.
10. Si N es igual a 4 cuantas notas se registran en la matriz?