top of page

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.

dimenciones.png

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                                                                      

resultado.png

© 2023 por NÓMADA EN EL CAMINO. Creado con Wix.com

  • b-facebook
  • Twitter Round
  • Instagram Black Round
bottom of page