Объяснение:
const
n = 10;
ar:array[1..n] of integer = (-2, -1, 2, 3, 4, 5, -5, -6, 2, 5);
var
i:integer;
is_first_pol:boolean;
raz_pol:integer;
begin
raz_pol:=0;
is_first_pol:=true; // флаг того, что найденное положительное число - первое
for i:=1 to n do begin
if (ar[i] > 0) then
if (is_first_pol) then begin
// если найденное полодительное число - первое, то
raz_pol:=ar[i]; // в нашу разницу заносим это число
is_first_pol:=false; // меняем флаг
end
else raz_pol:=raz_pol - ar[i]; // иначе вычисляем разницу
end;
writeln(raz_pol);
end.
Так пойдёт?
Объяснение:
program Zeldaproj1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
const z=100;
type mas=array[1..z] of integer;
var
u1:mas;
max1,max2,max3:integer;
procedure ch1(n:integer);
var i:integer;
begin
for i:=1 to n do
u1[i]:=random(100);
for i:=1 to n do
writeln('Элементы массива: ',u1[i]);
max1:=u1[i];max2:=u1[i];max3:=u1[i];
for i:=1 to n do
if u1[i]>max1 then begin
max1:=u1[i];
end;
for i:=1 to n do
if (u1[i]>max2) and (u1[i]<>max1) then begin
max2:=u1[i];
end;
writeln('max1: ',max1,' max2: ',max2,' max3: ',max3);
end;
begin
ch1(5);
readln;
ch1(7);
readln;
ch1(13);
readln;
end.