Хелпикс

Главная

Контакты

Случайная статья





Задача 4_2_25 (инд). Задача 4_3_25 (инд)



Задача 4_2_25 (инд)

Описание задачи:

Подсчитайте количество цифр '5' в строке. Замените каждую цифру '5' ее количеством.

Описание алгоритма:

Апеллируя предыдущим опытом, используем стандартную функцию substr_count(), чтобы найти количество пятерок в строке, и затем используем функцию str_replace(), чтобы заменить все пятерки в строке на их количество посредством предыдущей функции.

Текст программы:

<?php

$s = $_POST['s'];//Получение строки из формы

                       $count_five = substr_count($s,"5");//Подсчитываем количество пятерок

       echo str_replace("5",$count_five,$s);//Заменяем все пятерки на их количество и выводим модернизированную строку   

?>

Тестовый пример:


Блок-схема:


Задача 4_3_25 (инд)

Описание задачи:

Написать программу, печатающую самое длинное слово, содержащее не менее трех латинских букв 'а', из данной строки.

Описание алгоритма:

На этот раз ограничиться базовым функционалом не выйдет. С помощью функции preg_split(), использующей регулярное выражение, разбиваем строку по пробелам на массив из строк-слов. Вызываем функцию для полученного массива и обрабатываем все слова в цикле. С помощью функции substr_count() проверяем количество латинских “a” в слове, и если слово имеет больше 3х “a” и больше предыдущего слова, полученного в результате работы алгоритма, записываем его в специально отведенную для этого переменную. В конце выводим результат. Добавляем проверку на пустоту для переменной, содержащей слово. Если она пуста, слов, удовлетворяющих условию, в строке не было. В противном случае выводим значение на экран.

Текст программы:

 <?php

              function str_compar($str_arr){

                       $temp = "";//Переменная для слова

                       for ($i = 0; $i < count($str_arr); $i++){//Перебираем все слова в строке

                                 if (substr_count($str_arr[$i],"a") > 3){//Проверяем, больше ли трех латинских а в этом слове

                                          if (strlen($temp) < strlen($str_arr[$i])){//Если да, то проверяем, больше ли это слово предыдущего

                                                   $temp = $str_arr[$i];//Если да, заменяем его

                                          }

                           }

                       }

                       if (!empty($temp)){//Проверяем переменную слова на пустоту

                                 echo "Самое длинное слово с как минимум тремя латинскими a: ".$temp;//Если она была заполнена, слово было получено

                       } else {//Если она осталась пустой, слова не существует, или букв а меньше 3х

                                 echo "Самого длинного слова с подходящими условиями либо не существует, либо букв a было менее 3х";

                       }

              }

$str_arr = preg_split("/[\s,]+/",$_POST['s']);//С помощью регулярного выражения разбиваем строку на слова по пробелам        

                       str_compar($str_arr);//Вызываем функцию для нахождения слова

 

?>


 

Тестовый пример:

 

Блок-схема:


 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.