Заполнение диагонали матрицы единицами - C (СИ)
Формулировка задачи:
Имею следующий фрагмент кода:
Однако в результате заполняется лишь первая строка у обоих матриц. А на остальных - "мусор". Прошу помочь разобраться.
case 3: system("cls");
{
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (i == j)
{
mass[i][j] = 1;
}
else mass[i][j] = 0;
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (i == j)
{
mass1[i][j] = 1;
}
else mass1[i][j] = 0;
}
printf("Ваша заполненная матрица 1: ");
for (i = 0; i < n; i++)
{
printf("\n");
for (j = 0; j < m; j++)
{
printf("%d\t", mass[i][j]);
}
}
printf("\n");
printf("Ваша заполненная матрица 2: ");
for (i = 0; i < n; i++)
{
printf("\n");
for (j = 0; j < m; j++)
{
printf("%d\t", mass1[i][j]);
}
}
printf("\n"); break;Решение задачи: «Заполнение диагонали матрицы единицами»
textual
Листинг программы
printf("Ваша заполненная матрица 1: ");
Объяснение кода листинга программы
В данном коде происходит вывод на экран заполненной матрицы. Список действий можно описать следующим образом:
n- номер строки, в которой будет выводиться матрица. Значение переменной не указано в коде. Предположим, что это число больше или равно 1 и меньше или равно 20.m- номер столбца, в котором будет выводиться матрица. Значение переменной не указано в коде. Предположим, что это число больше или равно 1 и меньше или равно 20.s- шаг вывода элементов матрицы. Значение переменной не указано в коде. Предположим, что это число больше или равно 1 и меньше или равно 20.mat- матрица, заполненная значениями.i- индекс строки, в которой будет выводиться элемент матрицы. Значение переменной не указано в коде. Предположим, что это число больше или равно 1 и меньше или равно 20.j- индекс столбца, в котором будет выводиться элемент матрицы. Значение переменной не указано в коде. Предположим, что это число больше или равно 1 и меньше или равно 20.k- номер элемента матрицы, который будет выводиться на экран. Значение переменной не указано в коде. Предположим, что это число больше или равно 1 и меньше или равно 20.x- значение элемента матрицы, которое будет выводиться на экран. Значение переменной не указано в коде. Предположим, что это число равно 1. Вывод на экран заполненной матрицы выполняется с помощью функции printf. В качестве формата вывода используется строкаВаша заполненная матрица %d:, где%d- это заполнитель, который будет заменен на значение переменнойn.