1)
Var
A,B:integer;
Begin
ReadLn(A,B);
if (A>0)and(B>0) then WriteLn(A*B)
else WriteLn(A*A+B*B);
End.
2)
Const
N=30;
Var
A:array[1..N] of integer;
Begin
For var i:= 1 to N do
Begin
A[i]:=random(100)-50;
Write(A[i]:3,' ');
End;
WriteLn;
For var i:= 1 to N do
Begin
if i mod 2 = 0 then A[i]:=0
else if i mod 5 = 0 then A[i]:=A[i]*2;
Write(A[i]:3,' ');
End;
End.
<span>задумайте число прибавьте к этому числу 6 прибавьте к этому числу 4 умножьте случившееся на 2 отнимите 4 прибавьте 6 отнимите 2 разделите на 2 отнимите задуманное число отнимите 5</span>
А)Еёмф гсёна - рпуёцё шбт
б)Т Опгэн дпепн
в)Рёсгпё тёоуавса
Смотрите. Тут правда есть немного лишнего. Противоположные стороны всё таки проверять не надо. Хватит 4х углов. Но текст комментирован, лишнее можно убрать. поясняющих картинок нет. но вопрос и так слишком долго живёт без ответа. Мне казалось срок жизни 2-3 дня максимум, а тут 5 дней минуло.
Если что, отправляйте на исправление. дома дорисую.
Главное программа работает. Правда есть подозрения, что не во всех Паскалях (как они относятся к объявлению массива массивов?)
Это был Free Pascal Compiler version 2.6.4 [2014/04/20] for i386
В версии 3.0.0. думаю, тоже сработает
P.S.Добавил возможные варианты (не все, ясное дело) расположения точек.