Прошу объяснить решения задач такого типа:
1)Напечатать числа в виде следующей таблицы:
1) 5 5 5 5 5 2) 1 1 1 1 1
5 5 5 5 5 1 1 1 1
5 5 5 5 5 1 1 1
5 5 5 5 5 1 1
1

Язык программирования Си(С).
Меня интересует решение с пояснением такого типа:
"В данной строке задаем сколько элементов будет в строках..." и т.д.

1

Ответы и объяснения

2014-01-23T14:43:06+04:00
Для всех подобных задач решение однотипное, по индексам i,j в массиве определяется что вписать в ячейку
в первом все просто все заполняем 5
#include <stdio.h>
int main(void)
{
 int i,j num[5][5];
/* загрузка чисел */
 for(i=0; i<5; i++)
 for (j=0; j<5; j++)
 num[i][j] = 5;

/* вывод чисел */
 for(i=0; i<5; i++)
{
 for (j=0; j<5; j++)
  printf("%d ",num[i][j]);
  printf ("\n");
}
return 0;
}
во втором чуть сложнее, если сумма индексов i+j меньше размера массива, то пишем 1, в противном случае 0, 
инициализация и вывод без изменений их не пишу
 for(i=0; i<5; i++)
 for (j=0; j<5; j++)
   if (i+j<5) num[i][j]=1;
   else num[i][j]=0;