С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 9

Сформировать новую строку из трех самых коротких слов

01.06.2013, 19:43. Показов 1086. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка слов, разделенных пробелами, запятыми, точками.
Помогите, как сформировать новую строку из трех самых коротких слов и определить количество слов, заканчивающихся последней буквой алфавита (русского или латинского ).Заранее спасибо.
PHP
1
2
3
4
<?php
$str = "Everyday i go to school, because i like studing and learn more about life.";
echo "Заданная строка = $str<br>";
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2013, 19:43
Ответы с готовыми решениями:

Составить строку из самых коротких слов.
2). Скласти програму, яка визначає довжину самих коротких слів у заданому рядку (слова сприймати як описано у завданні 7) та формує з них...

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

Строки: найти первое из самых длинных и последнее из самых коротких слов и поменять их местами
Помогите написать прогу) 1. Строка состоит не менее чем из двух слов. Преобразовать её по следующему правилу: найти первое из самых...

6
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
01.06.2013, 22:21
Цитата Сообщение от zalkom Посмотреть сообщение

<?php
$str = "Everyday i go to school, because i like studing and learn more about life.";
echo "Заданная строка = $str<br>";
?>
это все до чего вы додумались, и пытались ли вообше реализовать эту задачу?
преже, чем просить помощи, нужно хоть немного подумать самому
0
45 / 45 / 9
Регистрация: 19.11.2012
Сообщений: 124
01.06.2013, 22:25
Сначала этой ф-цией разбиваем строку на массив подстрок http://www.php.su/split
Далее в массиве подстрок в цикле находим 3 самые короткие строки http://stateika.com/php/strlen-length.html
И присваеваем их переменной результата. Пишите свой код, если не будет получаться я помогу
0
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 9
03.06.2013, 14:01  [ТС]
Цитата Сообщение от fictiont Посмотреть сообщение
Пишите свой код, если не будет получаться я помогу
Ну как то так все скудновато продвигается...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
</head>
<body>
<?php
$str = "Everyday i go to school, because i like studing and learning more about life.";
echo "Заданная строка = $str<br>";
 
$strArray = explode(' ', $str);
foreach($strArray as $word)
{
for ($i=0; $i<$word; $i++)
if(count($word) < count(array_unique($word))) $number++;
{
echo "Новая строка = $word<br>";
}
}
?>
</body>
</html>
правильно мысль плывет то) если не сложно можете сразу исправный код написать, а то зачетная неделя скоро))))
0
45 / 45 / 9
Регистрация: 19.11.2012
Сообщений: 124
03.06.2013, 18:11
Ну например так:
PHP
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
<?php
    $str = "Everyday i go to school, because i like studing and learning more about life.";
    echo "Заданная строка = $str<br>";
     
    $strArray = array_diff(preg_split("/[\W]+/", $str), array('')); //разбиваем массив на слова и удаляем пустые элементы
 
    for ($i = 0; $i < 3; $i++) //3 минимальных слова
    {
        foreach($strArray as $word)
        {
                if (isset($min))
                {
                    if (strlen($word) < strlen($min))
                        $min = $word;
                }
                else
                {
                    $min = $word;
                }
        }
        $keys = array_keys($strArray, $min); //удаляем найденное минимальное слово, чтобы дальше его не искать, если входной массив важен,
                                                                  //можно в начале функции сделать его копию, т.к. здесь удаляются элементы
        foreach ($keys as $key)
            if ($key !== false)
                unset($strArray[$key]);
        $minA[$i] = $min; //сохраняем найденное значение
        $min = null;
    }
    print_r($minA);
?>
Функция получилась большеватой на мой взгляд, подумайте как упростить. Ну и 2-е задание сложности уже не должно составить
1
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 9
03.06.2013, 20:16  [ТС]
2-е задание сложности уже не должно составить

Честно составит))) стыдно конечно так говорить, но я полный ноль в программировании, а учеба обязывает)) буду благодарен если 2 задание тоже получиться)
0
45 / 45 / 9
Регистрация: 19.11.2012
Сообщений: 124
04.06.2013, 01:21
PHP
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
34
<?php
    $count = 0; //для слов, заканчивающихся последней буквой латинского алфавита
    $str = "Everyday i go to school, because i like studing and learning more about life.";
    echo "Заданная строка = $str<br>";
     
    $strArray = array_diff(preg_split("/[\W]+/", $str), array('')); //разбиваем массив на слова и удаляем пустые элементы
 
    for ($i = 0; $i < 3; $i++) //3 минимальных слова
    {
        foreach($strArray as $word)
        {
                if($word[strlen($word)-1] == 'z') //сверяем последний символ слова с z
                    $count++;
                if (isset($min))
                {
                    if (strlen($word) < strlen($min))
                        $min = $word;
                }
                else
                {
                    $min = $word;
                }
        }
        $keys = array_keys($strArray, $min); //удаляем найденное минимальное слово, чтобы дальше его не искать, если входной массив важен,
                                                                  //можно в начале функции сделать его копию, т.к. здесь удаляются элементы
        foreach ($keys as $key)
            if ($key !== false)
                unset($strArray[$key]);
        $minA[$i] = $min; //сохраняем найденное значение
        $min = null;
    }
    print_r($minA);
    echo ("<br> В тексте $count слов, заканчивающихся на 'z'");
?>
проверяйте, не тестил код, дописал из головы

P.s. если вы учитесь в техническом ВУЗе, то я думаю вам стоит подойти к преподавателю и сказать о том, что вы "полный ноль", попросить помощи. Т.к. современный инженер без навыков программирования не инженер, если же вы филолог\экономист\прочее, то конечно оно вам не надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2013, 01:21
Помогаю со студенческими работами здесь

Сформируйте новую строку из пяти самых длинных слов.
Дана строка слов, разделенных пробелами, запятыми, точками. Сформируйте новую строку из пяти самых длинных слов. Определите количество...

Ввести строку и сформировать из инвертированных её слов новую строку
Помогите, пожааалуйста( Нужно составить на языке Паскаль программу, управляющуюся с помощью меню. В меню обязательно должны войти...

В предложении выделить группу самых коротких слов
В предложении выделить группу самых коротких слов. Вывести на экран слова, начинающиеся и заканчивающиеся на одну и ту же букву. %trace ...

Вывод нескольких самых коротких слов в строке
здравствуйте, помогите вот с этим: в функции нужно сделать так, чтобы выводились все самые короткие слова, например: вводишь строку rr lpm...

Определить длину самых коротких слов в строке
Слова, стоящие после последнего самого короткого слова, поместить в массив строк. Вывести полученный массив. Если в строке одно слово,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru