Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 22.12.2013
Сообщений: 17
1

В заданной строке, состоящей из слов, разделенных одним или более пробелами, заменить каждое третье слово «мама» слово

19.03.2014, 19:39. Показов 2037. Ответов 15
Метки нет (Все метки)

помогите решить пожалуйста а то я в программировании не очень)
0

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

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2014, 19:39
Ответы с готовыми решениями:

В заданной строке, состоящей из "слов", разделенных одним или более пробелами, определить длину самого короткого "слова"
В заданной строке, состоящей из "слов", разделенных одним или более пробелами, определить длину...

Вводится строка каждое слово которой отделяется от других слов одним или несколькими пробелами.
Вводится строка каждое слово которой отделяется от других слов одним или несколькими пробелами....

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

В заданной строке, состоящей из нескольких слов, разделенных пробелами, оставить по одному пробелу между словами
Задание 1 В заданной строке, состоящей из нескольких слов, разделенных пробелами, оставить по...

15
Заблокирован
19.03.2014, 20:50 2
Лучший ответ Сообщение было отмечено Kellborne как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit
'
'   Антихакер32™
'
Private Sub Form_Activate()
    Dim s$, j$(), f&
    Do
        s = InputBox("Введите текст .. ", , "мама мама мама мама мама мама мама мама мама мама")
        j = Split(s, "мама")
        For f = 0 To UBound(j) Step 3
            If Trim(j(f)) = "" Then j(f) = " мамочка "
        Next
        s = Join(j, "мама")
        Cls
        Print s
        If MsgBox("повторить ?", vbYesNo) = vbNo Then Exit Do
    Loop
End Sub
там если принципиално нужно чтоб это было каждое 3-е слово
то в 10-й строчке ... поставь
Visual Basic
1
For f = 2 To UBound(j) Step 2
тогда ответ будет ещё более точным ...
мама мама мамочка мама мама мамочка мама мама мамочка мама мама мамочка мама

Добавлено через 4 минуты
вот как должно получиться, если ещё нужно подсчитать количество замен ___

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Option Explicit
'
'   Антихакер32™
'
Private Sub Form_Activate()
    Dim s$, j$(), f&, k&
    Do
        s = InputBox("Введите текст .. ", , "мама мама мама мама мама мама мама мама мама мама")
        j = Split(s, "мама")
        For f = 2 To UBound(j) Step 2
            If Trim(j(f)) = "" Then j(f) = " мамочка ": k = k + 1
        Next
        s = Join(j, "мама")
        Cls
        Print s & vbCrLf & _
        "Количество замен = " & k
        If MsgBox("повторить ?", vbYesNo) = vbNo Then Exit Do
    Loop
End Sub
2
15019 / 6347 / 1725
Регистрация: 24.09.2011
Сообщений: 9,976
19.03.2014, 20:53 3
Разве строка может состоять только из слов "мама"?
Ввожу
мама папа мама папа мама папа мама папа мама папа мама
ожидаю получить
мама папа мама папа мамочка папа мама папа мама папа мамочка
а получаю
мамочка мама папа мама папа мама папа мама папа мама папа мама мамочка


Добавлено через 2 минуты
С учетом исправления
мама папа мама папа мама папа мама папа мама папа мама мамочка
0
Заблокирован
19.03.2014, 21:12 4
да ? ....
чет об этом не подумал что ещё и папа может быть ...
ща посмотрю что можно поправить

Добавлено через 6 минут
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Explicit
'
'   Антихакер32™
'
Private Sub Form_Activate()
    Dim s$, j$(), f&, k&, k1&
    Do
        s = InputBox("Введите текст .. ", , "мама папа мама папа мама мама мама мама мама мама")
        j = Split(s)
        For f = 0 To UBound(j)
            If LCase(j(f)) = "мама" Then
                If k1 Mod 3 = 2 Then j(f) = "мамочка": k = k + 1
                k1 = k1 + 1
            End If
        Next
        s = Join(j)
        Cls
        Print s & vbCrLf & _
        "Количество замен = " & k
        If MsgBox("повторить ?", vbYesNo) = vbNo Then Exit Do
    Loop
End Sub
ответ !✰ ...
мама папа мама папа мамочка мама мама мамочка мама мама
0
Модератор
8387 / 3157 / 824
Регистрация: 22.02.2013
Сообщений: 4,694
Записей в блоге: 78
19.03.2014, 21:19 5
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Explicit
 
Private Sub Form_Load()
    Dim s As String, l As Long, q As Long, f As String, b As Long
    
    s = "ìàìà ïàïà ìàìà ïàïà ìàìà ïàïà ìàìà ïàïà ìàìà ïàïà ìàìà"
    f = "ìàìà "
    Do
        b = InStr(l + 1, s, f)
        If b = 0 Then b = InStr(l + 1, s, Left$(f, 5))
        If b Then
            If q = 0 Then f = " " & f
            q = q + 1
            If (q Mod 3) = 0 Then
                s = Left$(s, b) & "ìàìî÷êà" & Mid$(s, b + Len(f) - 1)
            End If
        End If
        l = b
    Loop While b
    
    MsgBox s & vbNewLine & q\3
End Sub
2
Заблокирован
19.03.2014, 21:28 6
давненько меня не было ...
я обычно в таком стиле пишу

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Option Explicit
'
'   Антихакер32™
'
Private Sub Form_Unload(Cancel As Integer)
    Dim s$, j$(), f&, k&, k1&
 
    s = InputBox("Введите текст .. ", , "мама папа мама папа мама мама мама мама мама мама")
    j = Split(s)
    For f = 0 To UBound(j)
        If LCase(j(f)) = "мама" Then
            If k1 Mod 3 = 2 Then j(f) = "мамочка": k = k + 1
            k1 = k1 + 1
        End If
    Next
    s = Join(j)
    Cls
    Print s & vbCrLf & _
    "Количество замен = " & k
    Cancel = MsgBox("выйти ?", vbYesNo) = vbNo
End Sub
0
The trick
19.03.2014, 21:30
  #7

Не по теме:

Я терпеть не могу функции типа Split и Join, и ни в одном примере у меня их нет.

0
0 / 0 / 1
Регистрация: 22.12.2013
Сообщений: 17
06.04.2014, 20:22  [ТС] 8
а что если строку надо с клавиатуры вводить?
0
Заблокирован
07.04.2014, 08:29 9
Цитата Сообщение от Kellborne Посмотреть сообщение
если строку надо с клавиатуры вводить?
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
Visual Basic
1
s = InputBox("Введите текст .. ", , "мама папа мама папа мама мама мама мама мама мама")
Антихакер32™ вводит откуда?
1
Заблокирован
07.04.2014, 08:56 10
Я очень заботливо предусмотрел ввод

Добавлено через 6 минут

Не по теме:

Не пойму почему страницы форума теперь
на иностранном языке отображаются
это у меня одного такой глюк ?

1
Заблокирован
07.04.2014, 09:00 11
вот...
0
Миниатюры
В заданной строке, состоящей из слов,  разделенных  одним или более пробелами, заменить каждое третье слово «мама» слово  
SoftIce
07.04.2014, 09:00
  #12

Не по теме:

Жора, привет!

0
Заблокирован
07.04.2014, 09:02 13
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
почему страницы форума теперь
на иностранном языке отображаются
Результат безпробудного гугления.
В левом нижнем углу страницы выберите нужное.
1
11202 / 3573 / 636
Регистрация: 13.02.2009
Сообщений: 10,676
07.04.2014, 09:02 14
на иностранном языке
Смотри в самом низу страницы слева
1
Заблокирован
07.04.2014, 09:07 15
Спасибо !
а то я подумал на наш форум проникли злобные иностранные провокаторы )))
Василий привет !
0
0 / 0 / 1
Регистрация: 22.12.2013
Сообщений: 17
07.04.2014, 16:51  [ТС] 16
спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2014, 16:51

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Заменить каждое третье слово в строке
Помогите написать процедуру для задания: В заданной строке, состоящей из слов, разделенных ...

Заменить каждое слово в строке на обратное ему слово, при этом сохраняя последовательность слов в строке
Доброго времени суток ! Есть задача Заменить каждое слово в строке на обратное ему слово, при этом...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.