int main(){
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int N;
long int ** inp;
scanf("%d",&N);
inp = (long int **)malloc((4*N)*sizeof(long int));
for(int i=0; i<4*N;i++){
inp[i] = (long int *)malloc((N)*sizeof(long int));
for (int j =0; j<N;j++){
scanf("%ld",&inp[i][j]);
}
}
Matrix A(N);
Matrix B(N);
Matrix C(N);
Matrix D(N);
for(int i =0; i<N; i++){
for(int j=0; j<N; j++){
A.Matr[i][j]=inp[i][j];
}
}
for(int i =N; i<2*N; i++){
for(int j=0; j<N; j++){
B.Matr[i][j]=inp[i][j];
}
}
for(int i =2*N; i<3*N; i++){
for(int j=0; j<N; j++){
C.Matr[i][j]=inp[i][j];
}
}
for(int i =3*N; i<4*N; i++){
for(int j=0; j<N; j++){
D.Matr[i][j]=inp[i][j];
}
}
A.Display();
cout << "\n";
B.Display();
return 0;
}
Я сделал матричный ООП класс, и он работает правильно, я пытаюсь прочитать данные для работы с ним.У меня проблема с чтением данных из файла.В первой строке у меня есть N, которое является размером матрицы, затем у меня есть 4 * N строк, которые описывают 4 (NxN) матрицы.input.txt выглядит следующим образом:
2
1 2
2 1
1 0
0 1
5 6
3 -2
1 2
3 4
После выполнения кода у меня появляется эта ошибка: «выход, ошибка сегментации», и я понятия не имею, как ее исправить.Я предполагаю, что что-то не так с распределением памяти и использованием старых функций из C, но я не знаю, что именно с ним не так.