// 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 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.
Begin
writeln('Введите день месяца');
readln(b);
writeln('Введите номер месяца');
Readln(a);
Case a of
1: writeln(b,' янавря');
2: writeln(b,' февраля');
3: writeln(b,' марта ');
4: writeln(b,' апреля ');
5: writeln(b,' мая');
6: writeln(b,' июня ');
7: writeln(b,' июля');
8: writeln(b,' августа');
9: writeln(b,' сентября');
10: writeln(b,' октября');
11: writeln(b,' ноября');
12: writeln(b,' декабря');
else writeln('Месяца №', a,'нет');
end;
end.