Vous êtes sur la page 1sur 8

Arreglos Bidimensionales

Matrices
Los arreglos bidimensionales son tablas
de valores. Cada elemento de un
arreglo bidimensional está
simultáneamente en una fila y en una
columna. Para obtener un elemento de
un arreglo, debe indicarse los índices de
su fila y su columna
Declaración
• Tipo nombredelarreglo[numero de filas][numero de columnas ]
ejemplo:
int A[10][10]
char Arreglo[100][20]
float B1[3][2]
Lectura y escritura
• #include <iostream>
• #include<iomanip>
• using namespace std;
• int main()
• {int i,j,n,m ,A[10][10];//declaracion del arreglo
• do{cout<<"\nEscriba numero de renglones";
• cin >>n;
• cout<<"\nEscriba numero de columnas";
• cin >>m;
• }
• while(n<=0||n>=10||m<=0||m>=10); //lectura del numero de filas y renglones
• for(i=1;i<=n;i++) //lectura del arreglo
• for(j=1;j<=m;j++)
• {cout<<"A["<<i<<"]["<<j<<"]=";
• cin>>A[i][j];
• }
• for(i=1;i<=n;i++) //Escritura del arreglo en forma de matriz
• {
• for(j=1;j<=m;j++)
• cout<<setw(4)<<A[i][j];
• cout<<endl;
• }
• return 0;
• }

Inicialización de un arreglo
#include <iostream>
• #include<iomanip>
• using namespace std;
• int main()
• {int i,j ,A[][3]={{1,2,-1},{4,5,-7}};//inicializacion de arreglo de enteros
• char cadena1[3][5]={"hola","casa","juan"};//iniciazacion de arreglo de caracteres
• char cadena2[2][3]={{'l','a','s'},{'d','o','s'}};//otra forma de inicializar
• for(i=0;i<2;i++) //Escritura del arreglo en forma de matriz
• {
• for(j=0;j<3;j++)
• cout<<setw(4)<<A[i][j];
• cout<<endl;
• }
• cout<<endl<<endl;
• for(i=0;i<3;i++) //Escritura del arreglo en forma de matriz
• {
• for(j=0;j<4;j++)
• cout<<setw(4)<<cadena1[i][j];
• cout<<endl;
• }
• cout<<endl<<endl;
• for(i=0;i<2;i++) //Escritura del arreglo en forma de matriz
• {
• for(j=0;j<3;j++)
• cout<<setw(4)<<cadena2[i][j];
• cout<<endl;
• }
• cout<<endl<<endl;
• return 0;
• }

Funciones y arreglos bidimensionales
#include <iostream>
• #include<iomanip>
• using namespace std;
• void escritura(int [][3],int,int);
• void escriturachar(char [][5],int,int);
• int main()
• {int i,j ,A[][3]={{1,2,-1},{4,5,-7}};//inicializacion de arreglo de enteros
• char cadena1[][5]={"hola","casa","juan"};//iniciazacion de arreglo de caracteres
• char cadena2[][5]={{'l','a','s'},{'d','o','s'}};//otra forma de inicializar
• escritura(A,2,3);
• escriturachar(cadena1,3,4);
• escriturachar(cadena2,2,3);

• for(i=0;i<2;i++) //Escritura del arreglo en forma de matriz
• {
• for(j=0;j<3;j++)
• cout<<setw(4)<<cadena2[i][j];
• cout<<endl;
• }
• cout<<endl<<endl;
• return 0;
• }
• void escritura(int x[][3],int n,int m)
• {int i,j;
• for(i=0;i<n;i++) //Escritura del arreglo en forma de matriz
• {
• for(j=0;j<m;j++)
• cout<<setw(4)<<x[i][j];
• cout<<endl;
• }
• cout<<endl<<endl;
• }
• void escriturachar(char cadena[][5],int n,int m){
• int i,j;
• for(i=0;i<n;i++) //Escritura del arreglo en forma de matriz
• {
• for(j=0;j<m;j++)
• cout<<setw(4)<<cadena[i][j];
• cout<<endl;
• }
• cout<<endl<<endl;
• }
Búsqueda
Determine la posiciones en donde hay ceros

• #include <iostream>
• #include<cstdio>
• using namespace std;
• #include<iomanip>
• using std :: setw;
• #include<cstdlib>
• #include<ctime>
• int main() {int i,j,r=1,A[11][11],pos[11][3];
• srand(time(NULL));
• for(i=1;i<=10;i++)
• for(j=1;j<=10;j++)
• A[i][j]=rand()%10;
• for(i=1;i<=10;i++){
• for(j=1;j<=10;j++)
• cout<<setw(4)<<A[i][j];
• cout<<endl;
• }
• for(i=1;i<=10;i++)
• for(j=1;j<=10;j++)
• if(A[i][j]==0){
• pos[r][1]=i;
• pos[r][2]=j;
• r++;}
• cout<<"posiciones en donde se encuentra un cero "<<endl;
• cout<<"renglon columna"<<endl;
• for(i=1;i<r;i++){
• for(j=1;j<=2;j++)
• cout<<setw(6)<<pos[i][j];
• cout<<endl;
• }
• return 0;
• }
analizar
• En un taller de 100 participantes se practicaron 6 pruebas. Los
resultados de cada prueba se leerán en un arreglo X, donde cada
elemento del arreglo es la nota del participante i en la prueba j. Hacer
un programa en C/C++ que:

• a)Calcule la nota promedio de cada participante

• b)Encuentre el mayor promedio obtenido en a)y el
• correspondiente número de su participación .
• c) Determina la nota mas baja de la tercera prueba .
• d)Crear una función CUENTA que determina cuantas personas
• aprobaron por cada prueba y escribe el resultado de menor a
mayor cantidad de APR por prueba


Tarea jueves 8/11 enviar por e-mail

• 1) Sea una matriz cuyos elementos, además de ser no negativos, su suma en cada renglón es 1(uno). Lea los
elementos de una matriz y determine si cumple con las condiciones aquí mencionadas
• 2) . Use un arreglo bidimensional para resolver el siguiente problema:
• Estudios científicos informan que del 26 al 5 de mayo se sentirá más calor de lo habitual debido a la cercanía del
planeta tierra al sol. Conforme a la rotación de la misma, lo que provocara que los rayos caigan
perpendicularmente en Honduras. El departamento de Meteorología de la UNAH desea hacer un análisis de las
temperatura que se registraran esos días para lo que se medirán las temperatura a las 11:50 en los 18
departamentos(1-18) .

• Resuma las temperaturas promedios por día y por departamento. (Aleatorio)
• Calcule el número de departamentos que registren una temperatura mayor de 35 grados centígrados
• Determine los departamento que el día 28 de abril sobrepasaron la temperatura promedio de todos estos días
• Calcule cuantos días el departamento #10 registro una temperatura entre 36 a 40 grados centígrados.
• Crear una función llamada temperatura la que recibe como parámetro la matriz de información y el tamaño, la
función determina y escribe el o los departamentos y el o los días que registraron la mayor temperatura .
• 3)
• Sea la matriz cuadrada An x n , donde cada elemento a i j se encuentra en la fila i y en la columna j. Calcule e
imprima :
• El producto de los elementos de la diagonal principal;
• La suma de aquellos elementos para los cuales i < j y
• El cuadrado de la suma de los elementos si i > j.

Vous aimerez peut-être aussi