/ PascalABC.NET 3.2, сборка 1385 от 14.02.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln('Поквартирная численность жильцов'); var a:=ArrRandom(36,1,10); a.Println; var mx:=a.Max; Write('Квартиры с максимальным количеством жильцов: '); a.Select((x,i)->(x,i)).Where(x->x[0]=mx).Select(x->x[1]+1).Println end.
PascalABC.NET 3.2: 1. begin write(ReadString.indexof(':')) end. Пример ввода: 1234:56 Пример вывода: 4
2. begin write(readString.ToWords.Select(x->x[1]).JoinIntoString) end. Пример ввода: Как любила язвить королева, собаки апплодировали Пример вывода: Клякса 3. begin write(readString.ToWords.Select(s->Length(s)).Max) end. Пример ввода: Не хочу учиться хочу жениться Пример вывода: 8 4. Если там нет знаков препинания: begin write(readString.ToWords.Select(s->ReverseString(s)).JoinIntoString(' ')) end. Если там есть знаки препинания, которые надо оставить на месте, то настолько же короткого решения мне не придумалось, можно так: begin var str := readString + ' '; var m := ''; for var i := 1 to str.Length do if str[i].IsLetter then m += str[i] else begin write(ReverseString(m), str[i]); m := ''; end; end. Пример ввода: амар алым умам Пример вывода: рама мыла маму
// Внимание! Если программа не работает, обновите версию!
begin
Writeln('Поквартирная численность жильцов');
var a:=ArrRandom(36,1,10); a.Println;
var mx:=a.Max;
Write('Квартиры с максимальным количеством жильцов: ');
a.Select((x,i)->(x,i)).Where(x->x[0]=mx).Select(x->x[1]+1).Println
end.
Пример
Поквартирная численность жильцов
7 9 6 7 8 9 1 4 7 8 8 8 1 7 7 8 3 10 7 7 2 9 7 3 2 8 2 2 10 4 4 5 2 1 7 1
Квартиры с максимальным количеством жильцов: 18 29
1.
begin
write(ReadString.indexof(':'))
end.
Пример ввода: 1234:56
Пример вывода: 4
2.
begin
write(readString.ToWords.Select(x->x[1]).JoinIntoString)
end.
Пример ввода: Как любила язвить королева, собаки апплодировали
Пример вывода: Клякса
3.
begin
write(readString.ToWords.Select(s->Length(s)).Max)
end.
Пример ввода: Не хочу учиться хочу жениться
Пример вывода: 8
4.
Если там нет знаков препинания:
begin
write(readString.ToWords.Select(s->ReverseString(s)).JoinIntoString(' '))
end.
Если там есть знаки препинания, которые надо оставить на месте, то настолько же короткого решения мне не придумалось, можно так:
begin
var str := readString + ' ';
var m := '';
for var i := 1 to str.Length do
if str[i].IsLetter then
m += str[i]
else
begin
write(ReverseString(m), str[i]);
m := '';
end;
end.
Пример ввода: амар алым умам
Пример вывода: рама мыла маму