Заполнить матрицу значениями вектора от правого вержнего угла по диагонали - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы