
MATRICES (ARREGLOS MULTIDIMENSIONALES)
Una matriz es un vector de vectores o un también llamado array multidimensional. La manera de declarar una matriz es C++ es similar a un vector: int matrix[filas][columnas]; int es el tipo de dato, matrix es el nombre del todo el conjunto de datos y debo de especificar el número de filas y columnas.

Las matrices también pueden ser de distintos tipos de datos como char, float, double, etc. Las matrices en C++ se almacenan al igual que los vectores en posiciones consecutivas de memoria.
No olvidar que tanto filas como columnas se enumeran a partir de 0. Para recorrer una matriz podemos usar igualmente un bucle. En este caso usando 2 for: 1. 2. 3. 4. 5. for(int i = 0; i < rows; i++) { for(int j = 0; j < cols; j++) { matrix[i][j] = i % j; // El símbolo % representa la división en módulo } } Si utilizamos: matriz[i][j], entonces i se refiere a la fila y j a la columna. Las matrices o arreglos bidimensionales se suelen utilizar en cálculos matemáticos, operaciones con matrices, recorridos por matrices, y cualquier uso que se le pueda dar.
#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;
}
}
} fin algoritmo
