Você está na página 1de 7

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA

ANTONIO JOS DE SUCRE


VICERECTORADO PUERTO ORDAZ
DEPARTAMENTO DE INGENIERA ELECTRNICA
SECCIN DE COMPUTACIN

COMPUTACION I







ARREGLOS Y MATRICES
Parte II





Ing. Lesbia Galindez
Puerto Ordaz, 2013
Arreglos Multidimensionales
Es una estructura de datos esttica y de un mismo tipo de datos, y de longitud
fija que almacena datos de forma matricial. De igual forma que los arreglos
unidimensionales, el almacenamiento de los datos en la memoria se realiza de forma
secuencial y son accedidos mediante ndices. Los arreglos multidimensionales son
tambin conocidos como matrices. Por lo tanto se llama matriz de orden "mn" a un
conjunto rectangular de elementos dispuestos en filas "m" y en columnas "n", siendo m
y n nmeros naturales. Las matrices se denotan con letras maysculas: A, B, C, ... y los
elementos de las mismas con letras minsculas y subndices que indican el lugar
ocupado: a, b, c, ...
Un elemento genrico que ocupe la fila i y la columna j se escribe i,j. Si el
elemento genrico aparece entre parntesis tambin representa a toda la matriz: A (i,j).
Una matriz de orden 3x4 se muestra a continuacin, siendo M una matriz de 3 filas y 4
columnas, la representacin grfica de sus posiciones es la siguiente:
M 3x4
Filas =3, columnas =4
columnas

Declaracin de arreglos Bidimensionales
La sintaxis es la siguiente:
tipo_dato <nombre_array> [dimensin1] [dimensin2];
<tipo de datos > <nombre_arregl o> [<nmero de fi las>], [<nmero de col umnas>];

Ejemplo:
Arreglo de dos dimensiones de orden 2x3.
char m[2][3] ;


Ejemplos:
1-. Realice un algoritmo que le permita ingresar dos matrices de 3x4, y se determine la
suma de ellas, imprimiendo la matriz resultante.
Solucin
Algoritmo "Suma Matrices 3x4"
Inicio
Entero: i, j
Real:A[3][4], B[3][4], C[3][4]
Mostrar(Ingrese los valores para la matriz A)
Repetir <i=0>hasta <i<3>
Repetir <j=0>hasta <j<4>
Mostrar("Ingrese la posicin "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz A")
Leer(A[i][j])
j=j+1
i=i+1
Fin_repetir_hasta
Mostrar (Ingrese los valores para la matriz B)
Repetir <i=0>hasta <i<3>
Repetir <j=0>hasta <j<4>
Mostrar("Ingrese la posicin "<<"("<<i<<")"<<"("<<j<<")"<<" de la matrizB")
Leer(B[i][j])
j=j+1
i=i+1
Fin_repetir_hasta
Repetir <i=0>hasta <i<3>
Repetir <j=0>hasta <j<4>
C[i][j] =A[i][j]+B[i][j]
j=j+1
i=i+1
Fin_repetir_hasta
Mostrar("La Matriz resultante es:")
Repetir <i=0>hasta <i<3>
Repetir <j=0>hasta <j<4>
Mostrar("Valor posicion "<<"("<<i<<")"<<"("<<j<<"): "<< C[i][j])
j=j+1
i=i+1
Fin_repetir_hasta
Fin


C++
#include<iostream.h>
#include<conio.h>
#include <string.h>
void main (void)
{
int i=0, j=0;
float A[3][4], B[3][4], C[3][4] ;
cout<<("Ingrese los valores para la matriz A")<<endl;
for ( i=0; i<3; i++)
{
for ( j=0; j<4; j++)
{
cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz A"<<endl;

cin>> A[i][j];
}
}
cout<<("Ingrese los valores para la matriz B");
for ( i=0; i<3; i++)
{
for ( j=0; j<4; j++)
{
cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz B"<<endl;
cin>> B[i][j];
}
}

for ( i=0; i<3; i++)
{
for ( j=0; j<4; j++)
{
C[i][j]=A[i][j]+B[i][j];
}
}
cout<<("La matriz C")<<endl;
for ( i=0; i<3; i++)
{
for ( j=0; j<4; j++)
{
cout <<"Valor posicion "<<"("<<i<<")"<<"("<<j<<"): "<<C[i][j]<<endl;
}
}
getch();
}


OTRA FORMA: En este algoritmo el resultado se puede visualizar en forma de matriz.
#include<iostream.h>
#include<conio.h>
#include <string.h>
void main (void)
{
int i=0, j=0;
float A[3][4], B[3][4], C[3][4] ;
cout<<("Ingrese los valores para la matriz A")<<endl;
for ( i=0; i<3; i++)
{
for ( j=0; j<4; j++)
{
cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz A"<<endl;

cin>> A[i][j];
}
}
cout<<("Ingrese los valores para la matriz B");
for ( i=0; i<3; i++)
{
for ( j=0; j<4; j++)
{
cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz B"<<endl;
cin>> B[i][j];
cout<<endl;
}
}
cout<<("La matriz C")<<endl;
for ( i=0; i<3; i++)
{
for ( j=0; j<4; j++)
{
C[i][j]=A[i][j]+B[i][j];
cout<<C[i][j]<<" ";
}
cout<<endl;
}
cout<<"\n";

getch();
}

2.- Realizar un programa para registrar los tiempos de los chequeos de 4 velocistas
que compiten para un cupo en la clasificacin nacional. Cada velocista corre por un
carril, y se deben realizar 3 chequeos por cada velocista. Usted debe registrar el
nombre del velocista que corre por cada canal, registrar el tiempo de cada prueba y su
tiempo promedio. Tome en cuenta que el nombre de tiene una longitud de mximo 40
caracteres.
#include <iostream.h>
#include <conio.h>
void main (void)
{
int i, j, k;
char competidores [4][40]; /*Matriz de nombres de competidores*/
float carreras[4][3]; /*Matriz de tiempos en cada vuelta de los competidores*/
float prom_competidores[4]; /*Vector de tiempos promedio de los competidores*/
float acumulador=0;
cout << "Informacin del tiempo de cada competidor en el chequeo" <<endl;
/*Llenando el vector de nombres de participantes*/
for (int i=0;i<4;i++)
{
cout<<"Ingrese el nombre del competidor del carril "<<i+1<<endl;
cin>>(competidores [i]);
}
/*Llenando la matriz de tiempos en cada chequeo*/
for (int j=0;j<4;j++)
{
acumulador=0;
cout<<"Indique el tiempo del Competidor "<<competidores[j]<<endl;
for(int k=0;k<3;k++)
{
cout<<"En la prueba "<<k+1<<endl;
cin>>carreras[j][k];
acumulador=acumulador+carreras[j][k];
}
/*Guardando el promedio de las dos carreras en el vector*/
prom_competidores[j]=acumulador/3;
}
/*Imprimiendo los resultados*/
for (int j=0;j<4;j++)
{
cout<<"El tiempo del Competidor "<<competidores[j];
for(int k=0;k<3;k++)
{
cout<<"\t"<<carreras[j][k];

}
cout<<"\tTiempo promedio= "<<prom_competidores[j]<<endl;
}
getch();
}


3.- Desarrolle un programa que realice la siguiente operacin. Se tienen dos vectores
de 5 elementos numricos cada uno, realizar la resta del Vector A menos el Vector B y
almacenar el resultado en un Vector C (C = A -B), determinar el promedio de la suma
de los elementos del Vector C (prom_C). (Propuesto)

Você também pode gostar