// 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 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.
// PascalABC.NET 3.0, сборка 1157 от 02.02.2016 begin var a:array[1..20] of integer; Randomize; for var i:=1 to 20 do a[i]:=Random(-50,50); a.Println; var b:=Range(2,20,2).Select(i->a[i]); Writeln('Элементы с четными индексами по возрастанию'); b.Sorted.Println; Writeln('Элементы с четными индексами по убыванию'); b.SortedDescending.Println; end.
Тестовое решение: -15 46 -34 -3 43 16 -17 -28 -19 12 -28 -11 48 -12 -1 33 -37 9 6 -40 Элементы с четными индексами по возрастанию -40 -28 -12 -11 -3 9 12 16 33 46 Элементы с четными индексами по убыванию 46 33 16 12 9 -3 -11 -12 -28 -40
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку