, что делает эта программа? var
a:array [1..100] of integer;
i,n,max:integer;
begin
writeln ('vvedite n:');
readln(n);
writeln ('Vvedite posledovatelnost');
for i:=1 to n do
readln(a[i]);
writeln ('Posledovatelnost');
max:=1;
for i:=1 to n do
begin
write(a[i],' ');
if a[max] end;
writeln;
writeln ('Posledovatelnost posle obrabotki');
for i:=1 to n do
begin
if ((i mod 2)=0)and(i<=(max-1)) then a[i]:=a[i]*a[max];
write(a[i],' ');
end;
end.
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.
Тестовое решение:
23 14 7 15 0 13 -6 41 18 13 8 42 27 -11 3 19 10
0 0 0 0 0 0 -6 41 18 13 8 42 27 -11 0 0 0
Файл с исходными данными имеет имя m17.txt. Тестовый файл находится во вложении. Разбивка на строки сделана по 5 значений, но может быть совершенно произвольной. Также нет привязки именно к 17 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.