Dev - C++ - Problema con multiplicacion de matrices.

 
Vista:
Imágen de perfil de jua david
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con multiplicacion de matrices.

Publicado por jua david (1 intervención) el 04/01/2019 21:57:17
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
54
55
56
57
58
59
60
/*El problema estar al darme el resultado final, me arroja datos basura o solo me copia un resultado, o ambas y no entiendo porque plis help mi
*/
 
#include<iostream>
#include<conio.h>
using namespace std;
int main(){
	cout<<"       MULTIPLICACION DE MATRICES      \n";
	int numeros[100][100], filas, columnas;
	int numeros2[100][100], filas2, columnas2;
	int numeros3[100][100];
	cout<<"\n       Primera Matriz";
	cout<<"\n\nDigite el numero de filas: ";cin>>filas;
	cout<<"Digite el numero de columnas: ";cin>>columnas;
	cout<<"\n";
	cout<<"\n     Segunda Matriz";
	cout<<"\n\nDigite el numero de filas: ";cin>>filas2;
	cout<<"Digite el numero de columnas: ";cin>>columnas2;
	cout<<"\n";
 
	if(filas==columnas2){
	cout<<"\nIngrese los elementos de la primera matriz\n\n";
		for(int i=1;i<=filas;i++){
		for(int j=1;j<=columnas;j++){
			cout<<"A("<<i<<")("<<j<<"): ";
			cin>>numeros[i][j];
		}
	}
	cout<<"\nIngrese los elementos de la segunta matriz\n\n";
	for(int i=1;i<=filas2;i++){
		for(int j=1;j<=columnas2;j++){
			cout<<"B("<<i<<")("<<j<<"): ";
			cin>>numeros2[i][j];
		}
	}
	for(int i=1;i<filas;i++){
		for(int j=1;j<columnas2;j++)
		{
			numeros3[i][j]=0;
			for(int k=1;k<=columnas;k++){
				numeros3[i][j]=numeros3[i][j]+numeros[i][k]*numeros2[k][i];
			}
		}
	}
	for(int i=1;i<=filas;i++){
		for(int j=1;j<=columnas2;j++){
		    cout<<numeros3[i][j]<<" ";
		}
		cout<<"\n";
	}
	}
	else{
		cout<<"Las matrices no son compatibles porque el numero de filas\n";
		cout<<"de la matriz A: "<<filas<<" es diferente al numero de columnas\n";
		cout<<"de la matriz B: "<<columnas2<<", por lo tanto no son compatibles.\n";
		cout<<"INTENTA DE NUEVO";
	}
	getch();
	return 0;
}
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
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con multiplicacion de matrices.

Publicado por Thanatos (199 intervenciones) el 05/01/2019 03:25:58
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
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <iomanip>   // setw()
 
using namespace std;
 
int main() {
    int numeros[100][100], filas, columnas;
    int numeros2[100][100], filas2, columnas2;
    int numeros3[100][100];
 
    cout << " MULTIPLICACION DE MATRICES \n\n";
    cout << " Primera Matriz\n\n";
    cout << "Digite el numero de filas: ";     cin >> filas;
    cout << "Digite el numero de columnas: ";  cin >> columnas;
    cout << "\n\n";
    cout << " Segunda Matriz\n\n";
    cout << "Digite el numero de filas: ";     cin >> filas2;
    cout << "Digite el numero de columnas: ";  cin >> columnas2;
    cout << "\n";
 
    if (filas == columnas2) {
        cout << "\nIngrese los elementos de la primera matriz\n\n";
        for (int i = 0; i < filas; i++) {
            for (int j = 0; j < columnas; j++) {
                cout << "A(" << i + 1 << ")(" << j + 1 << "): ";
                cin >> numeros[i][j];
            }
        }
 
        cout << "\nIngrese los elementos de la segunta matriz\n\n";
        for (int i = 0; i < filas2; i++) {
            for (int j = 0; j < columnas2; j++) {
                cout << "B(" << i + 1 << ")(" << j + 1 << "): ";
                cin >> numeros2[i][j];
            }
        }
 
        for (int i = 0; i < filas; i++) {
            for (int j = 0; j < columnas2; j++) {
                int suma = 0;
                for (int k = 0; k < columnas; k++) {
                    suma += numeros[i][k] * numeros2[k][j];
                }
                numeros3[i][j] = suma;
            }
        }
 
        for (int i = 0; i < filas; i++) {
            for (int j = 0; j < columnas2; j++) {
                cout << setw(5) << numeros3[i][j];
            }
            cout << "\n";
        }
    } else {
        cout << "Las matrices no son compatibles porque el numero de filas\n";
        cout << "de la matriz A: " << filas << " es diferente al numero de columnas\n";
        cout << "de la matriz B: " << columnas2 << ", por lo tanto no son compatibles.\n";
        cout << "INTENTA DE NUEVO";
    }
 
    cin.ignore();
    cin.get();
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar