
Tarea 11: MATRICES (arreglos multidimensionales)
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.
¿Cómo se crea una Matriz en C++?
Declarar una matriz en C++ es muy similar a la de un vector, se deben seguir las mismas normas para declarar una variable pero una vez más con un pequeño cambio en la sintaxis. Primero necesitaremos saber el tipo de los datos que irán al interior de este (números, decimales o cadenas de texto, etc.) necesitamos también, como siempre, un nombre para la matriz y un tamaño máximo tanto para las filas como para las columnas. La sintaxis para declarar una matriz en C++ es la siguiente:
tipoDato nombreMatriz[filas][columnas];
#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];
int Leer();
void multiplicacion(),formula(),Escritura();
int main(){
int opcion;
do{
cout<<" Matrices\n";
cout<<"1)Lectura\n";
cout<<"2)escritura \n";
cout<<"3)multiplicación de matrices \n";
cout<<"4)formula\n";
cout<<endl;
cin>>opcion;
if(opcion>0,opcion<5){
switch (opcion){
case 1:{
Leer();
break;
}
case 2:{
escribir();
break;
}
case 3:{
multiplicación ();
break;
}
case 4:{
formula();
break;
}
}
}else
cout<<"Opcion no existente\n";
cout<<endl;
cout<<endl;
}while (opcion!=0);
system("pause");
return(0);
}
int 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];
}
}
}
void Escritura(){
cout<<endl;
cout<<" 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;
}
}
}
void multiplicacion(){
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;
}
}
}
}
void formula(){
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;
}
}
}
}
// FIN PROGRAMA