Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 5

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

20.03.2011, 17:07. Показов 4085. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru