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

0 голосов
64 просмотров

Прошу объяснить решения задач такого типа:
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

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


Информатика (12 баллов) | 64 просмотров
Дан 1 ответ
0 голосов

Для всех подобных задач решение однотипное, по индексам i,j в массиве определяется что вписать в ячейку
в первом все просто все заполняем 5
#include
int main(void)
{
 int i,j num[5][5];
/* загрузка чисел */
 for(i=0; i<5; i++)<br> for (j=0; j<5; j++)<br> num[i][j] = 5;

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

(5.4k баллов)