Дана матрица размерами 4 на 4. заполните ее следующим образом: если сумма индексов четная – в ячейке должно содержаться произведение индексов, если сумма индексов нечетная – в ячейке должна содержаться сумма индексов.
Const M = 4; N = 4; Var A:array[1..M,1..N] of integer; i,j:integer; Begin WriteLn('Массив:'); For i:= 1 to M do Begin For j:= 1 to N do Begin if (i+j) mod 2 = 0 then A[i,j]:=i*j else A[i,j]:=i+j; Write(A[i,j]:3,' ') End; WriteLn End; End.
В таких заданиях всегда советую начинать с конца! Вот смотри нам нужно получить число 18, его можно получить как умножением на 2, так и вычитанием 3 из 21, но как же нам получить 21??? на это уйдёт больше команд значит последняя команда = 2 Смотрим дальше было 18, разделим на 2 = 9, это число нельзя получить путем умножения на 2, не будем же мы брать 4.5, значит предпоследняя команда 1 Смотрим дальше, было 9 прибавим 3, получается 12, его можно получить обееми командами, но 15 нам будет сложно получить и будет больше 4 команд, значит пред пред последняя команда 2 Смотрим дальше, было 12 разделим на 2 получится 6, ну и тут уже очевидно, что первая команда = 2 ответ: 2212 (3*2=6, 6*2=12, 12-3=9, 9*2=18)
Универсальным устройством ввода информации является клавиатура. Клавиатура позволяет вводить числовую и текстовую информацию. Для оптического ввода в компьютер и преобразования в компьютерную форму изображений (фотографий, рисунков, слайдов), а также текстовых документов используется сканер. Для ввода графической информации и для работы с графическим интерфейсом программ используются координатные устройства ввода информации: манипуляторы (мышь, трекбол звуковая карта, цифровые камеры, тв тюнер. я бы так ответила)
M = 4;
N = 4;
Var
A:array[1..M,1..N] of integer;
i,j:integer;
Begin
WriteLn('Массив:');
For i:= 1 to M do
Begin
For j:= 1 to N do
Begin
if (i+j) mod 2 = 0 then A[i,j]:=i*j
else A[i,j]:=i+j;
Write(A[i,j]:3,' ')
End;
WriteLn
End;
End.