Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Напишите код Php

Ксения Жук Ученик (99), открыт 5 дней назад
1.Программисту Ване передали письмо от таинственной незнакомки. Он долго думал и ломал голову как ему разгадать шифр. До него дошло, что нужно выписать слова с большой буквы в обратном порядке. Помогите Ване написать программу, которая расшифрует письмо.
 решИла нЕ Упрощать и зашифРОВАтЬ Все послаНИЕ 
дАже не Старайся нИЧЕГО у тЕбя нЕ получится с расшифРОВкой
Сдавайся НЕ твоего ума Ты не споСОбЕн Но может быть
если особенно упорно подойдешь к делу

будет Трудно конечнО
Код ведЬ не из простых
очень ХОРОШИЙ код
то у тебя все получится
и я буДу Писать тЕбЕ еще

чао
4 ответа
Ваня' Волков Мастер (1950) 5 дней назад
Вот пример кода на 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. Вывод результата: Программа выводит расшифрованный текст.

Запустив этот скрипт, вы получите результат, где слова с заглавных букв будут расположены в обратном порядке.
Андрей Высший разум (469903) 5 дней назад
 $text = 'решИла нЕ Упрощать и зашифРОВАтЬ Все послаНИЕ
дАже не Старайся нИЧЕГО у тЕбя нЕ получится с расшифРОВкой
Сдавайся НЕ твоего ума Ты не споСОбЕн Но может быть
если особенно упорно подойдешь к делу

будет Трудно конечнО
Код ведЬ не из простых
очень ХОРОШИЙ код
то у тебя все получится
и я буДу Писать тЕбЕ еще

чао';

// Сразу выбираем только нужные слова - без лишних телодвижений
preg_match_all('#\b[А-ЯЁ]\w*#u', $text, $words);
// Переворачиваем массив слов, склеиваем в одну строку, печатаем
echo implode(' ', array_reverse($words[0]));
Alex Искусственный Интеллект (119360) 5 дней назад
<?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);
?>
Похожие вопросы