Заполнить матрицу значениями вектора от правого вержнего угла по диагонали - C (СИ)
Формулировка задачи:
Заполнить матрицу значениями вектора b1, b2, ... ,b81 от правого вержнего угла по диагонали: влево - вниз. (
Примечание
. На рисунке указаны индексы элементов вектора b.) Помогите, пожалуйста, составить программу и объясните ее. Буду очень благодарен.Решение задачи: «Заполнить матрицу значениями вектора от правого вержнего угла по диагонали»
textual
Листинг программы
#include <stdio.h> int main(void) { int matrix[20][20] = {0}; int size = 100; while (size > 20 || size < 0) { printf ("size of the matrix (max. 20): "); scanf ("%i", &size); if (size == 0) return 0; } int i, j, temp_i, temp_j; int number = 1; for (i=0; i<size; ++i) for (j=0; j<size; ++j) { // вот изменение if (matrix[i][j] == 0) { matrix[i][j] = number++; temp_i = i + 1; temp_j = j - 1; // вот while ((temp_i<size) && (temp_j>=0)) // вот matrix[temp_i++][temp_j--] = number++; // вот } } for (i=0; i<size; ++i) { for (j=0; j<size; ++j) printf ("%3i ", matrix[i][j]); printf ("\n"); } return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д