<u>PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var k:=ReadInteger('Введите число-дубликат для удаления:');
var id:=a.FindIndex(t->t=k);
if id>-1 then a:=a[:id+1]+a[id+1:].Where(t->t<>k).ToArray;
a.Println
end.
<u>Пример</u>
n= 20
-23 -34 14 35 -16 -4 42 -13 -3 -49 24 49 26 -12 -16 16 47 33 -1 -16
Введите число-дубликат для удаления: -16
-23 -34 14 35 -16 -4 42 -13 -3 -49 24 49 26 -12 16 47 33 -1
Ответ: 1) Узел 1 Узел 2 Узел 3 Узел 4
Канал 1 Канал 2 Канал 3
P -> -> -> P
2) Шифр
3) Скитала
4) Шифр простой замены, простой подстановочный шифр, моноалфавитный шифр (пример: шифр-алфавит: А - 33; Б - 17; В - 8; Г - 16; Д - 2; Е - 15; Ё - 14; Ж - 13; З - 12; И - 98; Й - 10; К - 97; Л - 96; М - 24; Н - 0; О - 11; П - 5; Р - 25; С - 7; Т - 3; У - 64; Ф - 26; Х - 66; Ц - 69; Ч - 4; Ш - 6; Щ - 36; Ь - 21; Ъ - 22; Ы - 23; Э - 37; Ю - 39; Я - 18.)
Объяснение:
var
str, num: <em>string</em>;
begin
readln(str); <em>//str := 'Day 10, mice 8: "Year" 7 is a mistake 91.';</em>
foreach c: char in str do
if (Char.IsDigit(c)) then
num += c;
for j: byte := 1 to length(num) - 2 do
for i: byte := 1 to length(num) - 1 do
if (num[i] < num[i + 1]) then
begin
str[1] := num[i];
num[i] := num[i + 1];
num[i + 1] := str[1];
end;
if (Integer.Parse(num) > 0) then
begin
while (num[num.Length - 1] = '0') do
num.Remove(num.Length - 1);
writeln('Да' + #13 + num);
end
else
writeln('Нет');
end.
Ну этот кусок может выглядеть так:
---------------
t:= A;
A:=B;
B:=C;
C:=t;
---------------