<em>// PascalABC.NET 3.2, сборка 1387 от 20.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var aw:=ReadlnString('Введите строку:').ToWords;
var w:=ReadlnString('Введите искомое слово:');
var i:=aw.FindIndex(e->e=w);
var s:string;
if i>-1 then
if i=aw.Count-1 then s:=aw[:i].JoinIntoString
else s:=(aw[:i]+aw[i+1:]).JoinIntoString
else s:=aw.JoinIntoString;
s.Println
end.
<u>Замечание:</u>
Учитываются именно <u>слова</u>, а не контекст, т.е. слово должно отделяться от остальной части строки пробелом, либо признаками начала/конца строки.
Описание алгоритма:
Пусть даны числа a, b, c, d. Сравниваем a и b, c и d. Затем сравниваем максимальные числа в своих парах (наибольшее из них - максимальное среди всех чисел) и минимальные числа в своих парах (наименьшее из них - минимальное среди всех чисел). Сравниваем оставшиеся два числа и получаем информацию о порядке всех чисел, которую выводим на экран.
Реализация (python 3)
a, b, c, d = map(int, input().split())
if a > b:
a, b = b, a
if c > d:
c, d = d, c
if a > c:
a, c = c, a
if b > d:
b, d = d, b
if b > c:
b, c = c, b
print(a, b, c, d)
Пример ввода:
1 4 2 3
Пример вывода:
1 2 3 4