/PascalABC.NET Var n,i,s,max,min:integer; begin max:=-1000; min:=1000; write('Введите кол-во элементов: '); readln(n); for i:=1 to n do begin s:=random(2000)-1000; write(s,' '); if s>max then max:=s; if s<min then min:=s; end; writeln; writeln('Максимальный элемент: ',max, ' Минимальный: ', min,' Разница между элементами: ', max - min); end.
Var s:string; n,k,i:integer; begin for n:=1 to 2 do begin writeln('Введите строку ',n,':'); readln(s); k:=0; for i:=1 to length(s) do begin case s[i] of '[': k:=k+1; ']': k:=k-1; end; end; if k=0 then writeln('В строке ',s,' количество [ и ] одинаково') else writeln('В строке ',s,' количество [ и ] не одинаково'); end; end.
Пример: Введите строку 1: c:=a[imax,j]; a[imax,j]:=a[imin,j]; a[imin,j]:=c В строке c:=a[imax,j]; a[imax,j]:=a[imin,j]; a[imin,j]:=c количество [ и ] одинаково Введите строку 2: Просто [ пример ]] со [[ скобками В строке Просто [ пример ]] со [[ скобками количество [ и ] не одинаково
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 begin var a:=ReadLines('m17.txt').JoinIntoString.ToIntegers; a.Println; var b:=a.Select((x,i)->Rec(x,i)).Where(x->x.Item1<0) .Select(x->x.Item2).ToArray; if b.Count<>2 then Writeln('Количество отрицательных элементов не равно двум') else begin a:=SeqFill(b[0],0).Concat(a.Skip(b[0]).Take(b[1]-b[0]+1)) .Concat(SeqFill(a.Length-b[1]-1,0)).ToArray; a.Println end end.
Файл с исходными данными имеет имя m17.txt. Тестовый файл находится во вложении. Разбивка на строки сделана по 5 значений, но может быть совершенно произвольной. Также нет привязки именно к 17 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.
Var
n,i,s,max,min:integer;
begin
max:=-1000;
min:=1000;
write('Введите кол-во элементов: ');
readln(n);
for i:=1 to n do begin
s:=random(2000)-1000;
write(s,' ');
if s>max then max:=s;
if s<min then min:=s;
end;
writeln;
writeln('Максимальный элемент: ',max, ' Минимальный: ', min,' Разница между элементами: ', max - min);
end.