Попросите пользователя ввести целое число «n» на консоли. Ваша программа создаст две n x n матрицы случайных ints между 0 и 1023 (включительно), затем умножьте, добавьте и вычтите их вместе. Матрицы должны быть представлены в виде двумерных массивов. Ваша программа должна отображать результат каждой операции матрицы (умножение, вычитание и добавление).C Матричные операции
(Для части вычитания нужна ли мне третья нулевая матрица для указания?) Не получилось.
Вот мой код ниже. Это не работает. Мое умножение массива кажется правильным, однако, после того, как я попал в компиляцию и запуск, он просто застревает после ввода пользователем ввода. Это как вы пишете матрицы в C? Спасибо,
#include <stdlib.h>
#include <stdio.h>>
int main() {
int number;
//ask for interger
printf("\nEnter and interger: ");
scanf("%d", &number);
int Array1[number][number];
int Array2[number][number];
int Array3[number][number];
int i,j, r;
//populate array
for(i = 0; i < number; i++) {
for(i = 0; j < number; j++) {
r = rand() % 1023;
Array1[i][j] = r;
Array2[i][j] = r;
}
}
//calutate array
//multiplication
for(i = 0; i < number; i++) {
for(i = 0; j < number; j++) {
Array3[i][j] =
Array1[i][j] * Array2[i][j] + Array1[i][j+1] * Array2[i+1][j];
}
}
return 0;
}
Вы должны динамически выделять массивы. То, как вы их используете, неверно. http://www.programiz.com/c-programming/c-dynamic-memory-allocation в качестве примера. – rlib
Отличное форматирование кода, двойной палец вверх, чтобы не скрывать, что это ваша домашняя работа. – RhinoDevel
@Born никогда не выходит из этих циклов? Кроме того, любая другая ошибка (есть), а также внутренняя переменная цикла внутреннего цикла сбрасывается в ноль, каждый раз. Я бы сказал, что проблема заключается в том, что очень короткий отладочный сеанс может помочь решить (это даже быстрее, чем задавать вопрос!) –