Var A,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9:integer; Begin WriteLn('Введите число'); ReadLn(A); While A>0 do Begin Case A mod 10 of 0:B0:=B0+1; 1:B1:=B1+1; 2:B2:=B2+1; 3:B3:=B3+1; 4:B4:=B4+1; 5:B5:=B5+1; 6:B6:=B6+1; 7:B7:=B7+1; 8:B8:=B8+1; 9:B9:=B9+1; End; A:= A div 10; End; if (B0 = 3)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)then WriteLn('Верно') else if (B1 = 3)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)then WriteLn('Верно') else if (B2 = 3)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)then WriteLn('Верно') else if (B3 = 3)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)then WriteLn('Верно') else if (B4 = 3)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)then WriteLn('Верно') else if (B5 = 3)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)then WriteLn('Верно') else if (B6 = 3)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)then WriteLn('Верно') else if (B7 = 3)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)then WriteLn('Верно') else if (B8 = 3)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)then WriteLn('Верно') else if (B9 = 3)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)then WriteLn('Верно') else WriteLn('Не верно') End.
// 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 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.
A,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9:integer;
Begin
WriteLn('Введите число');
ReadLn(A);
While A>0 do
Begin
Case A mod 10 of
0:B0:=B0+1;
1:B1:=B1+1;
2:B2:=B2+1;
3:B3:=B3+1;
4:B4:=B4+1;
5:B5:=B5+1;
6:B6:=B6+1;
7:B7:=B7+1;
8:B8:=B8+1;
9:B9:=B9+1;
End;
A:= A div 10;
End;
if (B0 = 3)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)then WriteLn('Верно')
else if (B1 = 3)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)then WriteLn('Верно')
else if (B2 = 3)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)then WriteLn('Верно')
else if (B3 = 3)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)then WriteLn('Верно')
else if (B4 = 3)and(B5<2)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)then WriteLn('Верно')
else if (B5 = 3)and(B6<2)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)then WriteLn('Верно')
else if (B6 = 3)and(B7<2)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)then WriteLn('Верно')
else if (B7 = 3)and(B8<2)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)then WriteLn('Верно')
else if (B8 = 3)and(B9<2)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)then WriteLn('Верно')
else if (B9 = 3)and(B0<2)and(B1<2)and(B2<2)and(B3<2)and(B4<2)and(B5<2)and(B6<2)and(B7<2)and(B8<2)then WriteLn('Верно')
else WriteLn('Не верно')
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 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.