1-1 11-3 21-1 31-4
2-2 12- 1 22-2 32-1
3-1 13-2 23- 1 33-1
4-2 14-3 24-3 34-3
5-3 15-1 25- 3 35-1
6-3 16-1 26-2
7-2 17-1 27-4
8-3 18-4 28-4
9-4 19-2 29-2
10-4 20-3 30-3
Объяснение:
В этой задаче удобно то, что если необходимо изменить значение размера массива, достаточно изменить соответствующую константу (SIZE1 или SIZE2). Так нам не придется менять эти значения ни в объявлении массивов, ни в параметрах при вызове функции.
Отдельно хочется сказать о передаче в функцию массива, как параметра. Мы говорили в уроке, что при вызове функции создаются точные копии переменных и все изменения происходят именно с этими копиями, а не с переменными. Так что при выходе из функции, переменные не изменят свое значение. Если всё же надо изменить значение переменных в функции – делается это с ссылок или указателей, которые мы рассмотрим в следующих уроках. С массивами дело обстоит иначе. Все что происходит с элементами массива в функции, сохраняется и после выхода из неё. Это происходит потому, что имя массива – это и есть указатель на его первый элемент.
Когда необходимо передать в функцию одномерный массив, при её определении надо указать пустые [ ] скобки после имени параметра, обозначающего массив. В нашей задаче – void fillAndShowArray(int arrayForFilling[], int size) . Если надо передать двумерный массив – первые квадратные скобки оставляют пустыми, а во вторые надо внести значение. Например void fillAndShowArray(int arrayForFilling[][3], int size)
Чтобы передать в функцию массив, при её вызове – достаточно использовать имя массива. Скобки и размер писать не надо (строки 14 – 15).