Автор: Vic 3.11.2003 22:01
Помогите решить задачу. Использовать можно только For ...To...Do
Дано десять целых чисел. Найти разницу между минимальным из положительных и максимальным из отрицательных. ???
Автор: Nightmare 3.11.2003 22:40
Извиняйте за тупоумие, но что здесь непонятного?
2 цикла: поиск минимального положительного и поиск максимального отрицательного элементов массива (можно, кстати и объединить в один), а потом найти разность 2-х значений...
Автор: Kolan 6.11.2003 23:51
Вот:
Код
program raz;
uses crt;
type
mas = array[1..10] of integer;
const
n=10;
{***}
procedure vvod(var a:mas);
var
i:integer;
begin
randomize;
for i:=1 to n do
a[i]:=random(10)-4;
end;
{***}
procedure vivod(a:mas);
var
i:integer;
begin
for i:=1 to n do
writeln(a[i]:3);
end;
{***}
procedure findraz(a:mas; var raz:integer);
var
i:integer;
minp,maxot:integer;
begin
minp:=1000;
maxot:=-1000;
for i:=1 to n do
begin
if a[i]>0 then
if a[i]<minp then minp:=a[i];
if a[i]<0 then
if a[i]>maxot then maxot:=a[i];
end;
raz:=minp-maxot;
end;
{***}
var
a:mas;
rez:integer;
begin
clrscr;
Writeln('press <Enter>');
readln;
vvod(a);
vivod(a);
readln;
findraz(a,rez);
writeln('Raznops t= ',rez);
readln;
end.
;)
Автор: fkhhj 2.12.2003 18:44
Элементарно
Код
Program z219;
Var max,min,a,i,x,y:Integer;
Begin
min:=32767;
max:=-32768;
For i:=1 To 10 Do
begin
Read(a);
IF a>0 Then
IF a<min Then
begin
min:=a;
x:=min;
end;
IF a<0 Then
IF a>max Then
begin
max:=a;
y:=max;
end;
end;
Writeln(x-y);
END.