Evaluación 11: Programación 1
Matrices:
Las matrices o como algunos las llaman "arreglos multidimensionales" son una estructura de datos bastante similar a los vectores o arreglos. De hecho, una matriz no es más que una serie de vectores contenidos uno en el otro (u otros), es decir, una matriz es un vector cuyas posiciones son otros vectores. Hablemos con más detalle de esto para quedar más claros.
Nota: Te recomiendo ver y comprender la sección de arrays o vectores, antes de iniciar con este artículo para poder dominar el tema de éste con más facilidad.
Primero, dejemos claro qué es una matriz. En términos generales, una matriz es una estructura conformada por filas y columnas, idealmente más de dos filas y columnas, de hecho, podemos decir que si una "matriz" tiene una única fila o una única columna, entonces estamos hablando de un vector y no una matriz como tal.
La intersección de una fila y una columna de la matriz son las casillas y cada una de ellas podrá poseer información, simple o compleja (ya dependerá de nuestras necesidades).
Ahora, tal como dije antes, un vector posee una única fila (o columna, como lo quieras ver) y de este modo un grupo de vectores unidos conforman una matriz, es por esto que al comienzo dije que una matriz es un vector conformado por otra serie de vectores.
Viéndolo desde el punto de vista de la programación, una matriz es un vector cuyas posiciones (de la cero a la n) son, cada una de ellas, otro vector
Como siempre, la mejor forma de comprender algo es viendo un ejemplo en acción, así que veamos un buen ejemplo de matrices en C++


ALGORITMO
#include<iostream>
#include<math.h>
using namespace std;
int A[10][10],B[10][10],C[10][10],i,j,k,n,w,t,m,suma,Vo,R[10][10];
float Leer(),multi(),formul(),Escrit();
int main(){
int opcion;
do{
cout<<"*********Prueba 11: Matrices*********\n";
cout<<"1)Lectura\n";
cout<<"2)Multiplicacion de Matrices\n";
cout<<"3)Formula\n";
cout<<"4)Escritura\n";
cout<<endl;
cin>>opcion;
if(opcion>0,opcion<5){
switch (opcion){
case 1:{
Leer();
break;
}
case 2:{
multi();
break;
}
case 3:{
formul();
break;
}
case 4:{
Escrit();
break;
}
}
}else
cout<<"Opcion no existente\n";
cout<<endl;
cout<<endl;
}while (opcion!=0);
system("pause");
return(0);
}
float Leer(){
cout<<endl;
cout<<"*******Leer Matriz*******\n";
cout<<endl;
cout<<"N° de Filas:";cin>>m;
cout<<"N° de Columnas:";cin>>n;
cout<<endl;
cout<<endl;
cout<<"Matriz[A]\n";
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
cout<<"Matrix["<<i<<"]["<<j<<"]= ";
cin>>A[i][j];
}
}
cout<<endl;
cout<<"Matriz[B]\n";
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
cout<<"Matrix["<<i<<"]["<<j<<"]= ";
cin>>B[i][j];
}
}
}
float multi(){
cout<<"*******Multiplicacion entre A[][]*B[][]*******\n";
cout<<endl;
cout<<"N° de Filas:";cin>>m;
cout<<"N° de Columnas:";cin>>n;
cout<<endl;
cout<<endl;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
C[i][j]=0;
for(k=1;k<=m;k++){
C[i][j]=C[i][j]+(A[k][j]*B[k][j]);
cout<<"C["<<i<<"]["<<j<<"]= ";
cout<<C[i][j];
cout<<endl;
}
}
}
}
float formul(){
cout<<"*******Voltaje en onda*******\n";
cout<<endl;
cout<<"N° de Filas:";cin>>m;
cout<<"N° de Columnas:";cin>>n;
cout<<endl;
cout<<endl;
Vo=100;
for(w=5;w<=15;w=w+0.25){
for(t=0.1;t<=2;t=t+0.1){
R[i][j]=Vo*cos(w*t);
cout<<"R["<<i<<"]["<<j<<"]= ";cout<<R[i][j];
cout<<endl;
i++;
j++;
}
}cout<<endl;
}
float Escrit(){
cout<<endl;
cout<<"*******Lectura de la Matriz Formula*******\n";
cout<<endl;
cout<<"N° de Filas:";cin>>m;
cout<<"N° de Columnas:";cin>>n;
cout<<endl;
cout<<endl;
cout<<"Matriz Formula\n";
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
cout<<"R["<<i<<"]["<<j<<"]= ";cout<<R[i][j];
cout<<R[i][j];
cout<<endl;
}
} Sergio nuñez magallanes
}

