Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для Vadimushka D
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 51

Дан текст, в котором имеется несколько идущих подряд цифр. Получить число, образованное этими цифрами

19.11.2015, 11:39. Показов 1522. Ответов 6

Студворк — интернет-сервис помощи студентам
Всем привет, я конечно видел подобные темы для этой задачи на других языках, но очень их понял!! Мне вообщем сказали все сделать без регулярных функций! Я как бы сделал, но чую что-то не то!!

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
35
36
37
<body>
<form method="post">
<p>Введите текст:<br>
<textarea name="text"></textarea></p>
<p><input type="submit" name="button" value="Показать результат"></p>
</form>
<?php
if (isset($_POST['button'])) {
    echo '<p><strong>Результат программы</strong></p>';
 
    $str = explode(" ", $_POST['text']);
    
    echo 'Введенный текст:<br>';
    for($i = 0; $i < count($str); $i++){
        echo $str[$i], " ";
    }
    
    echo '<br><br>Число в тексте:<br>';
    for($i = 0; $i < count($str); $i++){
        $n = 0;
        
        while($n < 10){
            settype($n, "string");
            
            $pos = strpos($str[$i], $n);
 
            if($pos !== false){
                echo substr($str[$i], $pos, 1);
            }
 
            $n++;
        }   
    }
} 
 
?>
</body>
Вот такая вот задачка, с простым числами вроде 345 и т. д. по возрастанию все норм, если 334544 то вторые числа пропускаются, а вот как сделать чтобы не пропускались не знаю!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2015, 11:39
Ответы с готовыми решениями:

Дан текст, в котором имеется несколько идущих подряд цифр. Получить число, образованное этими цифрами.
1) Написать программу, проверяющую, является ли строка символов именем в языке Паскаль, т.е. состоит ли она из латинских букв, цифр и...

Дан текст, в котором имеется несколько идущих подряд цифр. получить число, образованное этими цифрами
Дан текст, в котором имеется несколько идущих подряд цифр. получить число, образованное этими цифрами. Помогите с программой

Дан текст, в котором имеется несколько идущих подряд цифр. Получить число, образованное этими цифрами
Дан текст , в котором имеется несколько идущих подряд цыфр . Получить число , образованное этими цыфрами .

6
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
19.11.2015, 11:46
Не понял, каким образом число образуется из цифр? Какой алгоритм?
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
19.11.2015, 13:04
то есть у тебя есть текст типа:
лдоывлдоыв 90в9887цу 0цуй0л щзцуйол 089йу70цуйзщоцу wqe8097 qwe7
И нужно из него вытащить числа? И при этому нужно сделать супер изврат без регулярки (в одну строчку), так?

Добавлено через 2 минуты
На всякий случай как это сделать регуляркой
PHP
1
2
3
4
5
$a = 'лдоывлдоыв 90в9887цу 0цуй0л щзцуйол 089йу70цуйзщоцу wqe8097 qwe7';
 
preg_match_all('#\d+#s', $a, $m);
 
print_r($m[0]);
Code
1
2
3
4
5
6
7
8
9
10
11
Array
(
    [0] => 90
    [1] => 9887
    [2] => 0
    [3] => 0
    [4] => 089
    [5] => 70
    [6] => 8097
    [7] => 7
)
0
 Аватар для Vadimushka D
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 51
20.11.2015, 12:56  [ТС]
GoDr, да - да, только нужно без регулярки все это проделать!! Ибо препод сказал без регулярных делать(((
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
20.11.2015, 13:06
Vadimushka D, и в чём проблема? Задача проще некуда.

Циклом for перебираете каждый символ, проверяя, лежит ли там число, с помощью is_numeric. Если число - сохраняем в отдельную переменную к остальным числам, если не число - пропускаем.
0
 Аватар для Vadimushka D
2 / 2 / 0
Регистрация: 06.09.2014
Сообщений: 51
23.11.2015, 13:02  [ТС]
Все спасибо, теперь понял!!! Вот как написал))
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (isset($_POST['button'])) {
    echo '<p><strong>Результат программы</strong></p>';
 
    $str = $_POST['text'];
    
    echo 'Введенный текст:<br>';
    echo $str;
    
    echo '<br><br>Число в тексте:<br>';
    
    $count = strlen($str);
    for($i = 0; $i < $count; $i++){
        if(is_numeric($str{$i})){
            echo $str{$i};              
        }
    }
}
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
23.11.2015, 20:30
Vadimushka D, спроси ради интереса у того кто сказал такое сделать, зачем так извращаться?
И, кстати, тебе нужно получить именно целое число, а не числа? Просто тогда нужно было бы сказать, что удалит всё кроме цифр

А вот если нужно получить последовательности, то у тебя именно все "только цифры"

Понедельник, вечер, не очень думалось ...
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
35
36
37
38
39
40
// заглушка для теста
$_POST['button'] = 1;
$_POST['text'] = '897328732рвг9рвыфв987н8923овшцг089ыф ыв 0ывф98ф 098уц09 8цу09';
 
if (isset($_POST['button'])) {
    echo '<p><strong>Результат программы</strong></p>';
 
    $str = $_POST['text'];
 
    echo 'Введенный текст:<br>';
    echo $str;
 
    echo '<br><br>Число в тексте:<br>';
 
    $count = mb_strlen($str);
 
    // будем формировать последовательность
    $y = 0;
    $arr = [];
 
    for ($i = 0; $i < $count; $i++) {
        if (is_numeric($str[$i])) {
            $arr[$y][] = $str[$i];
        } else {
            // Поменяем последовательность
            $y++;
        }
    }
 
    // сформируем нормальный массив
    $result = [];
    foreach ($arr as $v) {
        $result[] = implode($v);
    }
 
    // выводим результат
    echo '<pre>';
    print_r($result);
    echo '<pre>';
}
Добавлено через 7 минут
и ещё... не получится получить число неограниченной длины.. Есть пределы для работы с ними.. Хотя может я что путаю, но ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2015, 20:30
Помогаю со студенческими работами здесь

Дан текст, в котором имеется несколько идущих подряд цифр. получить число, образованное этими цифрами
Дан текст, в котором имеется несколько идущих подряд цифр. получить число, образованное этими цифрами

Дан текст. Найти наибольшее количество подряд идущих цифр
Привет! Помогите с написанием программки. Короче: Дан текст. Найти наибольшее количество подряд идущих цифр. Пожалуйста не...

Дан текст. Найти наибольшее количество подряд идущих цифр
В общем перешел я с 4 задания по практике c++ на 5 и столкнулся с еще более непонятной хренью :-| Если кто знает помогите сделать код. ...

Дан текст. Найти наибольшее количество идущих подряд цифр
Дан текст. Найти наибольшее количество идущих подряд цифр.C#

Дан текст найти максимальное количество идущих подряд цифр
Ребят подскажите пожалуйста кто может: Пусть дан текст. Найдите наибольшее количество цифр, идущих подряд.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru