// 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
i, n:integer;
price:real;
begin
n := 20;
price := 20.4;
for i := 1 to n do
writeln('Стоимость ', i:3, ' ед. товара составляет ', price * i:8:2, ' руб.');
end.
//вторая задача
var
i, f, n:integer;
begin
f := 453;
n := 10;
writeln('фунты граммы');
for i := 1 to n do
writeln(' ', i:2, i * f :11);
end.
//третья задача
var
i, n:integer;
k:real;
begin
n := 20;
writeln('Введите курс '); readln(k);
writeln('доллары рубли');
for i := 1 to n do
writeln(' ', i:2, i * k:13:2);
end.