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

Поменять местами имя и фамилию, результат вывести на экран.

20.03.2011, 17:07. Показов 4091. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть два задания одно я сделал "В компьютер вводится 10 слов. Вывести эти слова на экран, отсортированные в алфавитном порядке." вот программа Sub Prog_v6()
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
Dim sl(10)  As String, ss As String ' описание переменных
Dim i As Integer, k  As Integer
 
 
' вводим массив в диалоге
For i = 1 To 10
  sl(i) = InputBox("Cлово " & Str(i) & " = ")
  Worksheets(1).Cells(i, 1) = sl(i)
Next i
 
' сортируем массив медленным, но верным способом
Do
k = 0
For i = 2 To 10
  If sl(i) < sl(i - 1) Then
    ss = sl(i)                  ' меняем местами слова
    sl(i) = sl(i - 1)
    sl(i - 1) = ss
    k = k + 1
  End If
Next i
Loop While k > 0
 
' выводим отсортированный массив на лист Excel
For i = 1 To 10
  Worksheets(1).Cells(i + 12, 1) = sl(i)
Next i
End Sub
а вторую"В компьютер последовательно вводятся 10 строк, содержащих имя и фамилию. Поменять местами имя и фамилию, результат вывести на экран.
" не могу понять там ф.и. вводить как в один массив или отдельно и потом поменять местами их ..или по другому потому что по условию стоит вводят 10 строк...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2011, 17:07
Ответы с готовыми решениями:

В одной строке ввести фамилию, имя, отчество. Вывести на экран фамилию и инициалы
В одной строке ввести фамилию, имя, отчество. Вывести на экран фамилию и инициалы. Пояснения: * С помощью функции Copy() выведите...

Дана строка, содержащая фамилию, имя и отчество. Вывести на экран строку, содержащую фамилию и инициалы
Дана строка, содержащая фамилию, имя и отчество. Вывести на экран строку, содержащую фамилию и инициалы. Пример: Вводим: Кукушкин...

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

13
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
20.03.2011, 20:33
владимир01, это в какой среде программка
0
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 5
21.03.2011, 08:50  [ТС]
это в вба..в экселе...
0
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 64
21.03.2011, 12:43
По строке первый цикл от начала строки до пробела ,выделяешь подстроку это будет имя, второй цикл с конца строки до пробела- получишь таким же образом фамилию,затем меняешь их местами
0
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 5
21.03.2011, 13:56  [ТС]
не до конца понял как это реализовать в коде
0
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 64
21.03.2011, 17:14
Visual Basic
1
2
3
4
5
6
7
8
9
10
Function swap(s As String) As String
L = Len(s)
 
Dim Name As String, Family
   Dim k As Integer
   k = InStr(1, s, " ")
   Name = Left(s, k - 1)
   Family = Right(s, L - k)
  swap = Family + "  " + Name
End Function
Это работающий , но простой вариант , когда пробел тока один между словами
Завтра я попробую дать общий вариант
1
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 5
22.03.2011, 10:56  [ТС]
спасибо большое за помощь)))
0
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 64
22.03.2011, 21:34
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Function f(s As String) As String
L = Len(s)
Dim Name As String, Family
   Dim k As Integer
   
   k = InStr(1, s, " ")
   Name = Left(s, k - 1)
   Do While Mid(s, k, 1) = " "
   k = k + 1
   Loop
        Family = Right(s, L - k + 1)
  f = Family + "  " + Name
End Function
Общий случай для двух слов
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
22.03.2011, 21:49
вариант
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Function f(s As String) As String
If InStr(1, s, " ") > 0 Then
Do While InStr(1, s, "  ") > 0
s = Replace(s, "  ", " ")
Loop
a = Split(s, " ")
f = a(1) & " " & a(0)
Else
f = s
End If
End Function
0
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 5
23.03.2011, 14:30  [ТС]
еще один вопрос просто у нас было 3 лекции по программированию и дали задание я первое сделал по подобию ...как привязать эту лубую из двух функций к циклу из 10 строк с фамилиями и выодом на лист эксель ..ввод то понятно через инпут вокс можно
0
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 64
24.03.2011, 20:58
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub one()
Dim a(10) As String
Dim s As String
For i = 0 To 9
a(i) = InputBox("Введите имя, фамилию и нажмите  OK")
a(i)=swap(a(i) )
Next
For i = 0 To 9
s = s + a(i) + vbCrLf
Next
MsgBox (s)
End Sub
0
Частенько бываю
 Аватар для Vlanib
750 / 331 / 42
Регистрация: 20.06.2007
Сообщений: 854
25.03.2011, 09:58
2 Biggs: Функция Swap из языка С. Какой вы удачный симбиоз организовали, BaC++ic! У вас то хоть работает представленный код?

2 владимир01:
Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub Task()
'Â êîìïüþòåð ïîñëåäîâàòåëüíî ââîäÿòñÿ 10 ñòðîê, ñîäåðæàùèõ èìÿ è ôàìèëèþ. Ïîìåíÿòü ìåñòàìè èìÿ è ôàìèëèþ, ðåçóëüòàò âûâåñòè íà ýêðàí.
On Error Resume Next
Dim a, i As Integer, sStr As String
For i = 1 To 10
    a = Split(InputBox("Èìÿ, Ôàìèëèÿ:"))
    sStr = sStr & a(1) & " " & a(0) & vbNewLine
Next
MsgBox sStr
End Sub
1
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 64
25.03.2011, 10:58
Vlanib , swap определили выше, на первой странице топика , я конечно пропустил код через Exсel
Хотя , наверное , ваш вариант получше
1
Частенько бываю
 Аватар для Vlanib
750 / 331 / 42
Регистрация: 20.06.2007
Сообщений: 854
28.03.2011, 05:10
Да, ссори, не заметил, что на двух листах тема.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.03.2011, 05:10
Помогаю со студенческими работами здесь

Поменять местами первую и третью букву в слове и вывести результат на экран
Запросить у пользователя слово, состоящее из не менее букв. Поменять местами первую и третью букву и вывести результат на экран

Ввести имя, отчество и фамилию; поменять имя и отчество местами
Ввести имя, отчество и фамилию. Поменять имя и отчество местами (через тип данных string) &quot;Отчество, имя и фамилия&quot; Ни типо...

Вывести в файл фамилию, имя и отчество исполнителя и результат вычисления математического выражения
Нужно написать программу в паскале, которая вводит фамилию имя и отчество и анализирует из текстового файла input.txt один рядок-...

Вывести на экран 10 раз имя и фамилию
Напишите программу, которая 10 раз выводит на экран ваши имя и фамилию Если можно то вышлите в файле .py

Вывести на экран имя и фамилию 10 раз
здравствуйте, дорогие программисты!помогите пожалуйста решить задачу...вот условие: Написать программу, которая выводит на экран ваше имя и...


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

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

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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