Witam, napisałem programik zajmujący się prostymi obliczeniami na macierzach.
problem wystąpił przy mnożeniu więc wykorzystałem informacje z internetu i pomoc kolegi.
(informacja ogolna o tym co zawarte jest w nawiasach kwadratowych równie mile widziana, ale naważniejsza jest rola i funkcja "h" po co wg trzeba było je dodać?)
A teraz problem mam z tym że wykładowca chce wiedzieć dlaczego i co takiego robi w moim kodzie "h [] []" ? ponieważ mu nie odpowiedziałem jako pracę dodatkową kazał mi znaleźć odpowiedź Proszę o pomoc oto cały mój kod:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int A [4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int B [4][4];
int C [4][4];
int D [4][4];
// dodawanie macierzy
for (int i=0; i<4; i++)
{
for (int j=0; j<4;j++)
{
B[j][i] = A[i][j];
}
}
//wyswietlanie macierzy "A"
cout << "Macierz A:\n" << endl;
for(int i = 0; i < 4; i++)
{
for(int j = 0;j < 4; j++)
{
cout << A[i][j] << " ";
}
cout << endl;
}
cout << "\nTransponowana macierz A czyli B: \n" << endl;
for(int j = 0; j < 4; j++)
{
for(int i = 0;i < 4; i++)
{
cout << B[j][i] << " ";
}
cout << endl;
}
// dodawanie macierzy A+B=C
cout << "\nMacierz C (czyli B + A):\n" << endl;
for(int i = 0; i < 4; i++)
{
for(int j =0;j < 4; j++)
{
cout << (A[i][j]+B[j][i]) << " ";
}
cout << endl;
}
// Wymnożenie elementów
cout << "\nMacierz D (czyli A x B):\n" << endl;
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
{
D[i][j] = 0;
for(int h=0; h<4; h++) D[i][j] += B[h][j] * A[i][h];
cout << D[i][j] << " ";
}
cout << endl;
}
system("PAUSE");
return 0;
}