14 / 2 / 0
Регистрация: 11.01.2013
Сообщений: 26

Дана фраза. Определить имеются ли в ней числа, состоящие из одной цифры.

15.10.2013, 23:00. Показов 2220. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана фраза. Определить имеются ли в ней числа, состоящие из одной цифры.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2013, 23:00
Ответы с готовыми решениями:

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

Дана фраза. Определить, сколько в ней букв
Дана фраза. Определить, сколько в ней букв( к буквам не относятся символы, разделители, пробелы, точки и т.д.). Помогите пожалуйста.

Дана фраза. Определить сколько в ней наречий (слов, оканчивающихся на букву "о")
Дана фраза.Определить сколько в ней наречий (слов, оканчивающихся на букву "о") ? помогите пожалуйста..

16
Заблокирован
15.10.2013, 23:42
Есть функция Val и Format

если с ними поколдовать то можно решить вашу задачку )))
0
14 / 2 / 0
Регистрация: 11.01.2013
Сообщений: 26
15.10.2013, 23:44  [ТС]
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Есть функция Val и Format

если с ними поколдовать то можно решить вашу задачку )))
помогите пожалуйста
0
Заблокирован
15.10.2013, 23:49
Я не вижу условия вашей задачи

Фраза или что там ? нарисуйте
0
14 / 2 / 0
Регистрация: 11.01.2013
Сообщений: 26
15.10.2013, 23:52  [ТС]
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Я не вижу условия вашей задачи

Фраза или что там ? нарисуйте
Вот фраза : В 1 ящике 20 яблок.

Добавлено через 1 минуту
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Я не вижу условия вашей задачи

Фраза или что там ? нарисуйте
А ещё лучше будет, если любую фразу вводить с клавиатуры при запуске.
0
Заблокирован
16.10.2013, 00:05
вот наколдовал

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub TEST()
    Dim s$, v, v1, f&
    s = "В 1 ящике 20 яблок."
    
    v = Split(s)
    For f = 0 To 9
        v1 = Filter(v, CStr(f))
        If Join(v1) <> "" Then
            'Отображение чисел отдельно
            Debug.Print Join(v1)
        End If
    Next
End Sub
1
14 / 2 / 0
Регистрация: 11.01.2013
Сообщений: 26
16.10.2013, 00:21  [ТС]
НЕ ЗАПУСКАЕТСЯ. ВОТ МОЯ НЕДОРАБОТАННАЯ ПРОГРАММА. МОЖЕШЬ ПОСМОТРЕТЬ, ИСПРАВИТЬ?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim s As String
Dim s1 As String
Private Sub Command1_Click()
s = InputBox(Val(s)) '( "S-", "Ввод фразы")
s1 = (1234567890)
s = Len(s)
For i = 1 To l
s1 = Mid(s, i, 9)
If Mid(s, 1, 1) = Mid(s1, 9, 1)
 
K = K + 1
  End If
  End If
  Print "K=", K
Next j
Next i
End Sub
 Комментарий модератора 
Замечание на счет БОЛЬШИХ букв !
0
Заблокирован
16.10.2013, 00:37
Там у вас синтаксис нарушен
я не могу понять что к чему

If Mid(s, 1, 1) = Mid(s1, 9, 1) добавте слово Then

и вложения циклов For...Next

и что за переменная l ?
0
14 / 2 / 0
Регистрация: 11.01.2013
Сообщений: 26
16.10.2013, 00:43  [ТС]
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Там у вас синтаксис нарушен
я не могу понять что к чему

If Mid(s, 1, 1) = Mid(s1, 9, 1) добавте слово Then

и вложения циклов For...Next

и что за переменная l ?
Вместо s=LEN(s) должно быть l=LEN(s)
0
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
16.10.2013, 00:44
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Main()
Dim strTemp As String, arrTemp() As String, i As Integer
strTemp = Trim(InputBox("Фраза:"))
If Len(strTemp) > 0 Then
    arrTemp = Split(strTemp): strTemp = vbNullString
    For i = 0 To UBound(arrTemp)
        If Len(arrTemp(i)) = 1 Then If IsNumeric(arrTemp(i)) Then strTemp = strTemp & arrTemp(i) & vbNewLine
    Next
    If Len(strTemp) > 0 Then
        MsgBox "Найдено:" & vbNewLine & strTemp
    Else
        MsgBox "Ничего подходящего не найдено."
    End If
End If
End Sub
1
Заблокирован
16.10.2013, 00:52
Ну вот может быть так

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Command1_Click()
    Dim s As String
    Dim s1 As String, i, l, k
    
    s = InputBox(Val(s)) '( "S-", "Ввод фразы")
    s1 = (1234567890)
    l = Len(s)
    For i = 1 To l
       s1 = Mid(s, i, 9)
        If Mid(s, 1, 1) = Mid(s1, 9, 1) Then
       
           k = k + 1
        End If
   
        Debug.Print "K=", k
   
    Next i
End Sub
Добавлено через 1 минуту
Там потом скоректите сами, это хотябы не противоречит сантаксу
1
14 / 2 / 0
Регистрация: 11.01.2013
Сообщений: 26
16.10.2013, 00:59  [ТС]
Dmitrii,
УРРА! СПАСИБО ОГРОМНОЕ!!!
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
16.10.2013, 07:31
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Command1_Click()
    Dim i As Integer, S As String, t As Integer
    S = InputBox("Введите фразу", "Ввод данных", "В 10-м  ящике яблок 72, а груш - 8.")
    For i = 0 To UBound(Split(S))
        t = Val(Split(S)(i))
        If t > 0 And t <= 9 Then MsgBox "Yes": Exit Sub
    Next i
    MsgBox "No"
End Sub
Добавлено через 3 минуты
Dmitrii, в ответ на фразу "В 10-м ящике яблок 72, а груш - 8." Ваш код выдаёт отрицательный ответ.
1
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
16.10.2013, 08:40
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
Private Sub Command1_Click()
    Dim i As Integer, S As String, t As Integer
    S = " " & InputBox("Ââåäèòå ôðàçó", "Ââîä äàííûõ", "Â 10-ì  ÿùèêå ÿáëîê 72, à ãðóø - 8.") & " "
    For i = 2 To Len(S) - 1
      If IsNumeric(Mid$(S, i, 1)) And Not (IsNumeric(Mid$(S, i - 1, 1)) Or IsNumeric(Mid$(S, i + 1, 1))) Then MsgBox "Yes: " & Mid$(S, i, 1): Exit Sub
    Next
    MsgBox "No"
End Sub
2
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
16.10.2013, 20:53
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Цитата Сообщение от SoftIce Посмотреть сообщение
Dmitrii, в ответ на фразу "В 10-м ящике яблок 72, а груш - 8." Ваш код выдаёт отрицательный ответ.
Верно замечено. Я совсем было упустил из виду, что дефис и знаки препинания не отделяются пробелами от предшествующего текста.
Однако и ваш вариант не безупречен. Скажем, ему "не по зубам" фраза "В 10-м ящике яблок 72, а груш 4,2 десятка." (не сказано ведь в условии, что числа должны быть только целыми).
По-хорошему, эту задачу надо бы решать с помощью регулярных выражений, но, думается, автору темы этого совсем не требуется.
Посему предлагаю усложнённый вариант, но без регулярных выражений. Он, разумеется, тоже далёк от идеала, однако остальную "доводку" оставлю автору темы (если ему, конечно, нужно).
Visual Basic
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
41
42
43
Sub Main()
Dim strTemp As String, arrTemp() As String, i As Integer, j As Integer
Dim strDelims As String, arrDelims() As String
Dim strDigDelim As String, strPlainDelim As String
 
If IsNumeric("1,") Then
    strDigDelim = ",": strPlainDelim = "."
Else
    strDigDelim = ".": strPlainDelim = ","
End If
strDelims = strPlainDelim & " : ; ! ? - ( ) < > [ ] { } + - = % ^ / \ | """ 'можно что-то добавить или удалить
arrDelims = Split(strDelims)
strTemp = Trim(InputBox("Фраза:", , "В 10-м ящике яблок 72, а груш 4,2 десятка."))
If Len(strTemp) > 0 Then
    arrTemp = Split(strTemp)
    For i = 0 To UBound(arrTemp)
        If IsNumeric(arrTemp(i)) Then
            If Len(arrTemp(i)) > 1 Then
                arrTemp(i) = Replace(Replace(Replace(arrTemp(i), "+", ""), "-", ""), strDigDelim, "")
            End If
        Else
            strTemp = Replace(arrTemp(i), strPlainDelim, strDigDelim)
            If IsNumeric(strTemp) Then
                arrTemp(i) = Replace(strTemp, strDigDelim, "")
            Else
                For j = 0 To UBound(arrDelims)
                    strTemp = Replace(strTemp, arrDelims(j), " ")
                Next
                arrTemp(i) = strTemp
            End If
        End If
    Next
    arrTemp = Split(Join(arrTemp, " ")): strTemp = vbNullString
    For i = 0 To UBound(arrTemp)
        If IsNumeric(arrTemp(i)) Then If Len(arrTemp(i)) = 1 Then strTemp = strTemp & arrTemp(i) & vbNewLine
    Next
    If Len(strTemp) > 0 Then
        MsgBox "Найдено:" & vbNewLine & strTemp
    Else
        MsgBox "Ничего подходящего не найдено."
    End If
End If
End Sub
2
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
16.10.2013, 22:47
для массы еще вариант /для целых чисел/
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Command1_Click()
Dim t As Boolean
s = " " & InputBox("", , "В 10-м  ящике яблок 72, а груш - 8.") & "  "
For i = 1 To Len(s) - 2
t = Mid(s, i, 3) Like "[!0-9]#[!0-9]"
If t Then Exit For
Next
MsgBox t
End Sub
1
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
17.10.2013, 05:18
Лучший ответ Сообщение было отмечено как решение

Решение

Или без цикла -
Visual Basic
1
MsgBox " " & InputBox("", , "В 10-м  ящике яблок 72, а груш - 8.") & "  " Like "*[!0-9]#[!0-9]*"
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2013, 05:18
Помогаю со студенческими работами здесь

Дана фраза. Определить имеются ли в ней числа, состоящие из одной цифры
Помогите пожалуйста Дана фраза. Определить имеются ли в ней числа, состоящие из одной цифры. Аналогичная программа на С++ #include...

Дана фраза, определить: имеются ли в ней числа, состоящие из 1 цифры
Дана фраза, в которой слова разделены одним пробелом, а сама фраза заканчивается точкой. Требуется: Определить, имеются ли в ней числа,...

Определить, имеются ли в строке числа, состоящие из одной цифры
Дана фраза, в которой числа разделены пробелами. Определить, имеются ли в ней числа , состоящие из одной цифры?

Дана фраза. Определить, имеются ли в ней симметричные пятибуквенные слова
Помогите пожалуйста написать программу в экселе ----&gt;разработчик----&gt;Visual Basic. Добавлено через 36 секунд Дана...

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru