// PascalABC.NET 3.0, сборка 1110 const nn=30; var i,j,n,p,q:integer; c:array[1..nn+1,1..nn+2] of char; a,b:array[1..nn+1] of char; t:char; begin Write('Введите n (1-30): '); Read(n); if n=1 then p:=1 else begin Write('Введите p (1-',n,'): '); Read(p) end; Write('Введите q (1-',n+1,'): '); Read(q); // инициализация и вывод Randomize; for i:=1 to n do for j:=1 to n+1 do c[i,j]:=Chr(Ord('А')+Random(32)); // [А..Я] Writeln('*** Исходная матрица C ***'); for i:=1 to n+1 do begin for j:=1 to n+2 do begin if (j=n+2) or (i=n+1) then c[i,j]:='*'; Write(c[i,j]:2) end; Writeln end; Writeln('*** Вектор А ***'); for i:=1 to n+1 do begin a[i]:=Chr(Ord('A')+Random(26)); // [A..Z] Write(a[i]:2) end; Writeln(#13#10,'*** Вектор B ***'); for i:=1 to n+1 do begin b[i]:=Chr(Ord('a')+Random(26)); // [a..z] Write(b[i]:2) end; Writeln; // вставка строки ниже p на основе вектора А for i:=n+1 downto p+1 do for j:=1 to n+1 do c[i,j]:=c[i-1,j]; for j:=1 to n+1 do c[p+1,j]:=a[j]; Writeln('*** Матрица C после вставки строки ***'); for i:=1 to n+1 do begin for j:=1 to n+2 do Write(c[i,j]:2); Writeln end; // вставка столбца правее q на основе вектора А for j:=n+2 downto q+1 do for i:=1 to n+1 do c[i,j]:=c[i,j-1]; for i:=1 to n+1 do c[i,q+1]:=b[i]; Writeln('*** Результирующая матрица C ***'); for i:=1 to n+1 do begin for j:=1 to n+2 do Write(c[i,j]:2); Writeln end; end.
Тестовое решение: Введите n (1-30): 6 Введите p (1-6): 2 Введите q (1-7): 3 *** Исходная матрица C *** Ю М В Щ Я П Э * Р Х К Л Х Т Ч * Б Б Ф Я С О Ъ * Е К Д Ж О Ю Ъ * Ь З З Б А К Х * У Т Ъ С Ь К Щ * * * * * * * * * *** Вектор А *** H A H D U G T *** Вектор B *** r y c e s u u *** Матрица C после вставки строки *** Ю М В Щ Я П Э * Р Х К Л Х Т Ч * H A H D U G T * Б Б Ф Я С О Ъ * Е К Д Ж О Ю Ъ * Ь З З Б А К Х * У Т Ъ С Ь К Щ * *** Результирующая матрица C *** Ю М В r Щ Я П Э Р Х К y Л Х Т Ч H A H c D U G T Б Б Ф e Я С О Ъ Е К Д s Ж О Ю Ъ Ь З З u Б А К Х У Т Ъ u С Ь К Щ
№ Буква Имя 1 Аа а 2 Бб бэ 3 Вв вэ 4 Гг гэ 5 Дд дэ 6 Ее е 7 Ёё ё 8 Жж жэ 9 Зз зэ 10 Ии и 11 Йй и краткое 12 Кк ка 13 Лл эль (или эл) 14 Мм эм 15 Нн эн 16 Оо о 17 Пп пэ 18 Рр эр 19 Сс эс 20 Тт тэ 21 Уу у 22 Фф эф 23 Хх ха 24 Цц цэ 25 Чч че 26 Шш ша 27 Щщ ща 28 Ъъ твёрдый знак 29 Ыы ы 30 Ьь мягкий знак 31 Ээ э (э оборотное) 32 Юю ю 33 Яя
подбирай. У тебя всё получится
Так как каждая буква в слове заменена её порядковым номером в алфавите, а зашифрованная запись состоит только из цифр “1” и “2”, то в слове могут встречаться только буквы “а”, “б”, “й”, “к”, “у” и “ф”. Эти буквы имеют порядковые номера 1, 2, 11, 12, 21 и 22 соответственно.
Первые три цифры “222”. Слово не может начинаться с “ббб”, “бф” и “фб”. Значит, первая буква – “ф”, а вторая – “у” (номера 22 и 21 соответственно) . Следующие две двойки - это буква “ф”, так как нет в русском языке слов, начинающихся с “фубб” или с “фубу”. Следующая буква – “а”, так как после согласной не может стоять “й”. Рассуждая далее, получим слово “фуфайка”.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку