Dev - C++ - Duda con ejercicio

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Duda con ejercicio

Publicado por Alejandro (6 intervenciones) el 07/10/2019 17:35:19
Buenos días, ocupo un programa para calcular una matriz de (3•3 X 3•2), que también incluya decisiones, no importa de que tema sea
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Duda con ejercicio

Publicado por Alfil (1444 intervenciones) el 07/10/2019 18:27:00
Fíjate en el post:

https://www.lawebdelprogramador.com/foros/Dev-C/1712747-calculador-de-matrices.html

Tiene una función que multiplica cualquier matriz, solo tienes que crear un int main() que se adapte a tus necesidades:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
void multiplicacionMatrices()
{
    int filA, colA, filB, colB;
 
    cout << "\n    EL NUMERO DE COLUMNAS DE LA MATRIZ A"
         << "\nDEBE COINCIDIR CON EL DE FILAS DE LA MATRI B\n";
 
    cout << "\nDimension de la matriz A:";
    cout << "\nFilas de la matriz: "; cin >> filA;
    cout << "Columnas de la matriz: "; cin >> colA;
 
    int** A = new int*[filA];
    for( int i = 0; i < filA; i++ )
        A[i] = new int[colA];
 
    leerMatriz( A, filA, colA );
 
    cout << "\nDimension de la matriz B:";
    cout << "\nFilas de la matriz: "; cin >> filB;
    cout << "Columnas de la matriz: "; cin >> colB;
 
    int** B = new int*[filB];
    for( int i = 0; i < filB; i++ )
        B[i] = new int[colB];
 
    leerMatriz( B, filB, colB );
 
    int** C = new int*[filA];
    for( int i = 0; i < filA; i++ )
        C[i] = new int[colA];
 
    if( colA == filB ){
        for( int i = 0; i < filA; ++i ){
            for( int j = 0; j < colB; ++j ){
                C[i][j] = 0;
                for( int z = 0; z < colA; ++z )
                    C[i][j] += A[i][z] * B[z][j];
            }
        }
 
        cout << "\nMatriz A:\n";
        imprimirMatriz( A, filA, colA );
        cout << "\nMatriz B:\n";
        imprimirMatriz( B, filB, colB );
        cout << "\nMultiplicacion de las matrices (A*B):\n";
        imprimirMatriz( C, filA, colB );
 
    }else
        cout << "\n         NO SE PUEDEN MULTIPLICAR"
             << "\n    EL NUMERO DE COLUMNAS DE LA MATRIZ A"
             << "\nDEBE COINCIDIR CON EL DE FILAS DE LA MATRI B";
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar