


Напишите код Php
1.Программисту Ване передали письмо от таинственной незнакомки. Он долго думал и ломал голову как ему разгадать шифр. До него дошло, что нужно выписать слова с большой буквы в обратном порядке. Помогите Ване написать программу, которая расшифрует письмо.
решИла нЕ Упрощать и зашифРОВАтЬ Все послаНИЕ
дАже не Старайся нИЧЕГО у тЕбя нЕ получится с расшифРОВкой
Сдавайся НЕ твоего ума Ты не споСОбЕн Но может быть
если особенно упорно подойдешь к делу
будет Трудно конечнО
Код ведЬ не из простых
очень ХОРОШИЙ код
то у тебя все получится
и я буДу Писать тЕбЕ еще
чао
$text = 'решИла нЕ Упрощать и зашифРОВАтЬ Все послаНИЕ
дАже не Старайся нИЧЕГО у тЕбя нЕ получится с расшифРОВкой
Сдавайся НЕ твоего ума Ты не споСОбЕн Но может быть
если особенно упорно подойдешь к делу
будет Трудно конечнО
Код ведЬ не из простых
очень ХОРОШИЙ код
то у тебя все получится
и я буДу Писать тЕбЕ еще
чао';
// Сразу выбираем только нужные слова - без лишних телодвижений
preg_match_all('#\b[А-ЯЁ]\w*#u', $text, $words);
// Переворачиваем массив слов, склеиваем в одну строку, печатаем
echo implode(' ', array_reverse($words[0]));
<?php
// Исходный текст
$text = "решИла нЕ Упрощать и зашифРОВАтЬ Все послаНИЕ
дАже не Старайся нИЧЕГО у тЕбя нЕ получится с расшифРОВкой
Сдавайся НЕ твоего ума Ты не споСОбЕн Но может быть
если особенно упорно подойдешь к делу
будет Трудно конечнО
Код ведЬ не из простых
очень ХОРОШИЙ код
то у тебя все получится
и я буДу Писать тЕбЕ еще";
// Разделяем текст на массив строк
$lines = explode("\n", $text);
// Создаем пустой массив для хранения результатов
$result = [];
foreach ($lines as $line) {
// Разделяем строку на отдельные слова
$words = preg_split('/\s+/', trim($line));
foreach ($words as &$word) {
// Проверка, начинается ли слово с заглавной буквы
if (preg_match('/^[А-ЯЁ]/u', $word)) {
// Добавляем слово в начало массива
array_unshift($result, $word);
}
}
}
// Выводим результат
echo implode(' ', $result);
?>
Вот пример кода на PHP, который поможет Ване расшифровать письмо:
// Письмо Ваниной загадочной незнакомки
$letter = <<<EOT
решИла нЕ Упрощать и зашифРОВАтЬ Все послаНИЕ
дАже не Старайся нИЧЕГО у тЕбя нЕ получится с расшифРОВкой
Сдавайся НЕ твоего ума Ты не споСОбЕн Но может быть
если особенно упорно подойдешь к делу
будет Трудно конечнО
Код ведЬ не из простых
очень ХОРОШИЙ код
то у тебя все получится
и я буДу Писать тЕбЕ еще
чао
EOT;
// Разделяем строку на массив слов
$words = explode(' ', $letter);
// Создаем пустой массив для хранения слов с заглавной буквы
$capitalizedWords = [];
foreach ($words as $word) {
// Проверяем, начинается ли слово с заглавной буквы
if (ctype_upper(mb_substr($word, 0, 1))) {
// Добавляем слово в массив
$capitalizedWords[] = $word;
}
}
// Переворачиваем массив
$reversedCapitalizedWords = array_reverse($capitalizedWords);
// Соединяем элементы массива обратно в строку
$result = implode(' ', $reversedCapitalizedWords);
echo $result . "\n";
Объяснение работы программы:
1. Разделение строки на слова: Используем функцию explode, чтобы разбить длинную строку письма на отдельные слова.
2. Поиск слов с заглавной буквы: Проходим циклом по каждому слову и проверяем, начинается ли оно с заглавной буквы при помощи функции ctype_upper.
3. Сборка списка слов с заглавной буквы: Если слово начинается с заглавной буквы, добавляем его в массив $capitalizedWords.
4. Переворот массива: Используем функцию array_reverse для того, чтобы перевернуть порядок элементов в массиве.
5. Объединение слов в строку: Функция implode соединяет элементы массива обратно в одну строку.
6. Вывод результата: Программа выводит расшифрованный текст.
Запустив этот скрипт, вы получите результат, где слова с заглавных букв будут расположены в обратном порядке.
Код php
Написал