0 / 0 / 0
Регистрация: 06.07.2018
Сообщений: 5

Процедура, результатом работы которой является новая строка

06.07.2018, 13:50. Показов 921. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В текстовое поле вводится строка из трех слов, разделенных пробелами. При нажатии
кнопки «ОК» запускается процедура, результатом работы которой является новая строка,
отличающаяся от введенной тем, что первое и третье слова меняются местами. Эта строка
выводится во второе текстовое поле. Если введенная строка содержит меньше трех слов,
новая строка не формируется, вместо нее во второе поле выводится сообщение «В строке
должно быть три слова!».
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.07.2018, 13:50
Ответы с готовыми решениями:

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

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

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

5
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
07.07.2018, 10:42
deadinside,
посмотри что написано в заголовке списка тем!
Задать вопрос
А ты тупо публикуешь учебное задание!
ЧТО СДЕЛАЛ? Что не получается?
0
692 / 489 / 251
Регистрация: 10.06.2016
Сообщений: 2,337
09.07.2018, 09:06
Между словами строго один пробел!
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim i  As Integer, j  As Integer, k(2) As Integer
Private Sub Command1_Click()
j = 0
For i = 1 To Len(Text1.Text)
If Mid$(Text1.Text, i, 1) = " " Then
j = j + 1
k(j) = i
End If
Next
If j = 1 Then
Text2.Text = "Должно быть три слова"
Else
Text2.Text = Mid$(Text1.Text, k(2) + 1, Len(Text1.Text) - k(2)) + " " + Mid$(Text1.Text, k(1) + 1, k(2) - k(1)) + " " + Mid$(Text1.Text, 1, k(1) - 1)
End If
End Sub
 
Private Sub Form_Load()
Text1.Text = "Слово1 Слово2 Слово3"
'Text1.Text = "Слово1 Слово2"
End Sub
0
1104 / 480 / 33
Регистрация: 05.07.2018
Сообщений: 1,870
Записей в блоге: 7
18.07.2018, 17:18
1. txt1 - первое окно, txt2 - второе окно, cmd1 - кнопка
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
Option Explicit
 
Dim T As String
Dim k%, k2%, t1$, t2$, t3$
Const p = " "
Const p2 = p + p
 
Private Sub cmd1_Click()
    T = txt1
    Call Pro1
    k = InStr(T, p)
    k2 = InStr(k + 1, T, p)
    
    If k2 Then
        t1 = Left$(T, k - 1)
        t2 = Mid$(T, k2 + 1) + p
        t3 = Mid$(T, k + 1, k2 - k)
        txt2 = t2 + t3 + t1
    Else
        txt2 = "В строке должно быть три слова"
    End If
End Sub
 
Private Sub Pro1()
    Do
        k = InStr(T, p2)
        If k Then
            t1 = Left$(T, k)
            t2 = Mid$(T, k + 2)
            T = t1 + t2
        End If
    Loop Until k = 0
End Sub
0
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,670
18.07.2018, 18:43
эх скукота
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim stroka$
stroka = "   слово1    слово2   слово3    "
stroka = Trim(stroka) ' убираем лидирующие и концевые пробелы
'прибиваем двойные(тройные, четверные и т.д)  пробелы
Do While InStr(1, stroka, "  ") > 0
stroka = Replace(stroka, "  ", " ")
Loop
'разбираем фразу на слова
Dim a() As String
a() = Split(stroka, " ")
'определяем количество слов если меньше 3 то выводим сообщение об ошибке если больше то меняем 3 слово и 1 слово местами
If UBound(a()) < 2 Then
MsgBox "Должно быть 3 слова"
Else
MsgBox a(2) & " " & a(1) & " " & a(0)
End If
надеюсь под себя подстроить сможете
1
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
18.07.2018, 19:11
Перестановка слов - классическая задача для RegExp
Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim stroka$
stroka = "   слово1    слово2   слово3    "
With CreateObject("vbscript.regexp")
  .Pattern = "(\S+)\s+(\S+)\s+(\S+)"
  If .test(stroka) Then
    MsgBox .Replace(stroka, "$3 $2 $1")
  Else
    MsgBox "В строке должно быть три слова"
  End If
End With
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2018, 19:11
Помогаю со студенческими работами здесь

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

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

Разработать программу, результатом которой является очередь
Разработать программу, результатом которой является очередь, сформирована на основе последовательности вершин, полученных при обходе в...

Функции:Составить процедуру, результатом работы которой
Составить процедуру, результатом работы которой является истинное значение, если символ, заданный при обращении к процедуре, – буква, и...

Определить что является результатом работы программы
Определить что является результатом работы программы Program Example_74; Var n1, n2: Longint; k1, k2: Byte; Function Quantity...


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

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

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru