var a:array[1..3, 1..4] of integer; i,j,min:integer; begin for i:=1 to 3 do for j:=1 to 4 do begin read(a[i,j]); if a[i,j]<0 then min:=a[i,j]; end; for i:=1 to 3 do for j:=1 to 4 do if (a[i,j]<0) and (a[i,j]<min) then min:=a[i,j]; writeln('Минимальное отрицательное число ',min); end.
Задача №2 var a:array[1..2, 1..5] of integer; i,j:integer; begin for i:=1 to 2 do for j:=1 to 5 do read(a[i,j]); for i:=1 to 2 do begin for j:=1 to 5 do write(a[i,j],' '); writeln; end; end.
Задача №3 var a:array[1..3, 1..4] of integer; i,j:integer; begin for i:=1 to 3 do for j:=1 to 4 do read(a[i,j]); for i:=1 to 3 do for j:=1 to 4 do if a[i,j]=10 then writeln('Номер столбца — ',j,' Номер строки — ',i); end.
Несмотря на длинное условие, эта задача совсем не сложная. Очевидно, что здесь речь идет о двух системах счисления, причем основание одной из систем в два раза больше, чем основание другой. По записи выражений (163*11):5+391 и (454*15-26):5+2633 можно предположить, что в первом случае основание меньше, а во втором - больше. Пусть x - основание меньшей системы счисления, тогда второе основание будет 2x. Переведем данные выражения в десятичную систему счисления по известному правилу: 1) ((1*(2x)^2+6*(2x)+3)*(1*2x+1)):5+(3*(2x)^2+9*2x+1)= ((4*x^2+12*x+3)*(2*x+1)):5+(12*x^2+18*x+1) 2) ((4*x^2+5*x+4)*(1*x+5)-(2*x+6)):5+(2*x^3+6*x^2+3*x+3)= ((4*x^2+5*x+4)*(x+5)-(2*x+6)):5+(2*x^3+6*x^2+3*x+3) После раскрытия скобок и приведения подобных, с учетом того, что числа в выражениях должны быть равны, получим: 8*x^3+88*x^2+108*x+8 = 14*x^3+55*x^2+42*x+29 т.е. 6*x^3-33*x^2-66*x+21=0 Очевидно, что нас интересуют только целочисленные положительные решения. Ещё раз посмотрим на выражение (454*15-26):5+2633 Из него видно, что основание системы счисления должно быть не меньше 7. Подставим 7 в уравнение, и! сразу обнаруживаем, что это и есть подходящее нам решение. Таким образом, в "десятке" одного было 7 человек, а в "десятке" другого - 14. Общее количество "шпиёнов" у каждого = 7820
var a:array[1..3, 1..4] of integer;
i,j,min:integer;
begin
for i:=1 to 3 do
for j:=1 to 4 do begin
read(a[i,j]);
if a[i,j]<0 then min:=a[i,j];
end;
for i:=1 to 3 do
for j:=1 to 4 do
if (a[i,j]<0) and (a[i,j]<min) then min:=a[i,j];
writeln('Минимальное отрицательное число ',min);
end.
Задача №2
var a:array[1..2, 1..5] of integer;
i,j:integer;
begin
for i:=1 to 2 do
for j:=1 to 5 do read(a[i,j]);
for i:=1 to 2 do begin
for j:=1 to 5 do
write(a[i,j],' ');
writeln;
end;
end.
Задача №3
var a:array[1..3, 1..4] of integer;
i,j:integer;
begin
for i:=1 to 3 do
for j:=1 to 4 do read(a[i,j]);
for i:=1 to 3 do
for j:=1 to 4 do
if a[i,j]=10 then writeln('Номер столбца — ',j,' Номер строки — ',i);
end.