Var a:array[1..10] of integer;
k,n,i:integer;
min:INTEGER;
begin
randomize; N:=10; k:=0 {кол-во отрицательных элементов};
writeln ('исходный массив');
for i:=1 to N do
begin
if random(2) =1 then a[i]:=random(100)
else begin k:=k+1; a[i]:=-random(100); min:=a[I] end;
write(a[i]:5);
end;
writeln;
{поиск минимального положительного}
if (k<>0) or (k<>N) then {есть отрицательные или не все отрицательные}
begin
for i:=1 to N do
if (a[i]>0) and (a[i]<min) then min:=a[i];
{замена}
for i:=1 to N do
if (a[i]<0) then a[i]:=min;
end;
writeln('Новый массив')
for i:=1 to N do write(a[i]:5);
end.
Обозначим за m ( = 2003) число строк в таблице, n ( = 2016) - число столбцов
a[i,j] - число, стоящее в i-ой строке, j-ом столбце в таблице, заполненной по горизонталям, b[i,j] - по вертикалям ( i = 1..m, j = 1..n)
Тогда a[i,j] = n*(i-1) + j, b[i,j] = m*(j-1) + i
Условие совпадения чисел в соответствующих клетках: a[i,j] = b[i,j]
2016*(i-1) + j = 2003*(j-1) + i
2016i - 2016 + j = 2003j - 2003 + i
2015i = 2002j + 13 {все числа делятся на 13}
155i = 154j + 1
Общее решение этого уравнения:
i = 1 + 154k
j = 1 + 155k
k = 0..13 (при k < 0 и при k > 13 i и j выходят из допустимого диапазона)
Т.е. всего 14 решений.
Ответ: 14
Program primer;
Var
i:integer;
begin
i:=-4;
repeat
writeln(i,' ',3*i);
i:=i+2;
until i>4;
end.
<span>var
a, b, S, : real;
begin
write('Введите a: ');
readln(a);
write('Введите b: ');
readln(b);
s := a * b;
write('Площадь прямоугольника -- ', s, ';
end<span>.</span></span>