Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 31.10.2010
Сообщений: 3
1

Поиск цифр в строке символов

31.10.2010, 20:25. Показов 2668. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Поясните пожалуйста почему у меня не работает 2 вариант, подскажите как правильнее сделать иначе. Делаю эту программу как пример - срочно нужно,а сам с QBASIC второй день знаком...
QBasic/QuickBASIC
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
'Пример иллюстрирует работу со строками, поиск в них слов и обработку слов
'В исходной строке X$ определить и вывести слова, в которых первая буква встречается всего один раз
 
REM
CLS
PRINT
INPUT "Введите строку ", X$      'Вводим строку
D = LEN(X$)                        'узнаем длину строки
DIM S$(D)                          'создаем массив строк размером с длину строки (подчеркиваю - массив строк, тк в его элементах будем сохранять символы)
 
 
FOR I = 1 TO D                     'старт цикла для прохода по строке
  S$(I) = MID$(X$, I, 1)                'вытаскиваем символ под номером I и пихаем его в массив в элемент A(i)
NEXT I                              'конец цикла прохода по строке  - теперь всю строку раскидали по массиву - можем обрабатывать и искать что-то
                                     'хотя это не обязательно - можно просто каждый раз вызывать MID$(X$, I, 1) чтобы обратится
                                     'к какому нибудь символу в строке, а теперь можно как к массиву S(I) - мы внесли КАЖДЫЙ СИМВОЛ
                                     '(в том числе пробелы - любой) в элементы массива
 
'********************************Поиск цифр***************************************
 
PRINT "Поиск цифр первым способом ";
FOR I = 1 TO D                     'старт цикла для прохода по массиву
  IF (S$(I) = "0") OR (S$(I) = "1") OR (S$(I) = "2") OR (S$(I) = "3") OR (S$(I) = "4") OR (S$(I) = "5") OR (S$(I) = "6") OR (S$(I) = "7") OR (S$(I) = "8") OR (S$(I) = "9") THEN
  PRINT S$(I);
  END IF
NEXT I
PRINT
 
'********************************Поиск цифр второй способ*****************************
 
PRINT "Поиск цифр вторым способом ";
FOR I = 1 TO D                     'старт цикла для прохода по массиву 
  FOR K = 0 TO 9
    IF STR$(K) = S$(I) THEN PRINT S$(I); 'перебираем в цикле счетчик К от 0 до 9 (то есть цифры)
  NEXT K                                  'и переводя его в строку с помощью STR$ сравниваем с элементом массива
                                          'если совпал, то печатаем  
NEXT I
 
END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2010, 20:25
Ответы с готовыми решениями:

Подсчет цифр, символов-разделителей и прочих символов в строке
#include <stdio.h> #include <locale.h> /* подсчет цифр, символов-разделителей и прочих...

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

Определить количество цифр в строке символов
строка. Определить количество цифр в строке символов.

Определить количество цифр в строке символов.
строка. Определить количество цифр в строке символов.

2
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
01.11.2010, 00:12 2
Потому что при переводе числа в строку количество знакомест на 1 больше, чем количество символов, это нужно для знака числа. Для положительного числа это знакоместо занимает пустой символ (пробел), его надо убрать с помощью ltrim$.
PureBasic
1
IF ltrim$(STR$(K)) = S$(I) THEN PRINT S$(I);
1
0 / 0 / 0
Регистрация: 31.10.2010
Сообщений: 3
01.11.2010, 08:28  [ТС] 3
Спасибо, а то уже вроде и напрямую смотрю - не равны STR$(K) = S$(I) и всё - не пойму в чем дело - даже и не подумал бы никогда что STR$(K) в QBASIC это не тоже самое что FloattoStr(K) в Delphi.
0
01.11.2010, 08:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2010, 08:28
Помогаю со студенческими работами здесь

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

Определить общее количество символов-цифр в строке
Ввести строку (строки) и вывести результат ее (их) обработки в соответствии с заданием. ...

в строке символов удалить все кроме цифр
помогите джависту! в строке символов удалить все кроме цифр и вывести количество сотен числа ...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru