Witam, mam taki oto kod, który na pozór działa dobrze - kompiluje się. Problemem jest to, że mam potrzebę skopiowania zawartości tablicy matrix do matrix2. Niestety po wyświetleniu skopiowanej tablicy pokazują się w niej jakieś śmieci z pamięci czyli nie udało się przekopiować wartości. Proszę o pomoc.
#include <iostream>
#include <cstdlib>
#include <ctime>
#include "matrix3.h"
using namespace std;
int main()
{
srand(time (NULL));
MATRIX mat;
MATRIX2 mat2;
losowanie(mat);
printMatrix(mat);
cout << "wyswietlam skopiowana macierz" << endl;
zamienionyMatrix(mat,mat2);
return 0;
}
#include"matrix3.h"
#include<cstdlib>
using namespace std;
void printMatrix(MATRIX matrix)
{
for(int i = 0; i<N; i++)
{
for(int j=0; j<M; j++)
cout << matrix[i][j] << "\t";
cout << endl;
}
}
void losowanie(MATRIX matrix)
{
for( int i=0;i<N;i++)
{
for(int j=0;j<M;j++)
matrix[i][j] = (rand() % 11 + 10 );
}
}
void zamienionyMatrix(MATRIX matrix ,MATRIX2 matrix2)
{
for( int i=0;i<N;i++)
{
for(int j=0;j<M;j++)
matrix[i][j] = matrix2[i][j];
}
for( int i=0; i<N; i++)
{
for(int j=0; j<M;j++)
cout << matrix2[i][j] << "\t";
cout << endl;
}
}
#ifndef MATRIX3_H_INCLUDED
#define MATRIX3_H_INCLUDED
#include <iostream>
#define N 6
#define M 7
typedef float MATRIX[N] [M];
typedef float MATRIX2[N] [M];
void printMatrix(MATRIX matrix);
void losowanie(MATRIX matrix);
void zamienionyMatrix(MATRIX matrix ,MATRIX2 matrix2);
#endif // MATRIX3_H_INCLUDED
Wiem, że dziwnie wygląda program rozbity na 3 pliki, ale prowadzący życzy sobie zachowania takiej konwencji.