Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 8

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

31.05.2012, 22:43. Показов 3425. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке, заменив в нем все предыдущие вхождения его последней буквы на символ «.» (точка). Например, слово «МИНИМУМ» надо преобразовать в «.ИНИ.УМ». Количество пробелов между словами не изменять.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2012, 22:43
Ответы с готовыми решениями:

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

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

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

12
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
01.06.2012, 13:55
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
Function Transf(ByVal S As String) As String
   ii% = 2
   Do
       If (Mid$(S, ii%, 1) = " " And Mid$(S, ii% - 1, 1) <> " ") Or _
          (Mid$(S, ii%, 1) <> " " And ii% = Len(S)) Then
          If ii% = Len(S) Then
             last$ = Mid$(S, ii%, 1)
             jj% = ii% - 1
          Else
             last$ = Mid$(S, ii% - 1, 1)
             jj% = ii% - 2
          End If
          Do
             If (jj% < 1) Then Exit Do
             If Mid$(S, jj%, 1) = " " Then Exit Do
             If Mid$(S, jj%, 1) = last$ Then Mid$(S, jj%, 1) = "."
             jj% = jj% - 1
          Loop
       End If
       ii% = ii% + 1
       If ii% > Len(S) Then Exit Do
   Loop
   Transf = S
End Function
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
01.06.2012, 14:53
чуть короче
Visual Basic
1
2
3
4
5
6
7
8
Function f$(s$)
  Dim x, i%
  x = Split(s)
  For i = 0 To UBound(x)
    If Len(x(i)) Then x(i) = Replace(Left(x(i), Len(x(i)) - 1), Right(x(i), 1), ".") & Right(x(i), 1)
  Next
  f = Join(x)
End Function
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.06.2012, 16:46
чуть быстрее, м.б.
Visual Basic
1
2
3
4
5
6
7
8
Function f$(s$)
  Dim x, i%
  x = Split(s)
  For i = 0 To UBound(x)
    If instrrev(x(i),Right(x(i), 1),Len(x(i)) - 1) Then x(i) = Replace(Left(x(i), Len(x(i)) - 1), Right(x(i), 1), ".") & Right(x(i), 1)
  Next
  f = Join(x)
End Function
1
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
01.06.2012, 16:59
Цитата Сообщение от Diskretor Посмотреть сообщение
чуть быстрее, м.б.
скорее всего - да.
но при наличии однобуквенных слов - смертельная ошибка №5.
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.06.2012, 17:19
Варианты:
1)
Visual Basic
1
2
3
4
5
6
7
8
Function f$(s$)
Dim x, i%
x = Split(s)
For i = 0 To UBound(x)
    x(i) = Replace(x(i), Right(x(i), 1), ".", , Len(x(i)) - Len(Replace(x(i), Right(x(i), 1), "")) - 1)
Next
f = Join(x)
End Function
2)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Function f$(s$)
Dim x, i%
x = Split(s)
For i = 0 To UBound(x)
  if Len(x(i))>1 then
    Do While InStrRev(x(i), Right(x(i), 1), Len(x(i)) - 1)
        Mid(x(i), InStr(x(i), Right(x(i), 1)), 1) = "."
    Loop
  end if
Next
f = Join(x)
End Function
Добавлено через 6 минут
Мдя. Тогда все-таки так:
Visual Basic
1
2
3
4
5
6
7
8
Function f$(s$)
  Dim x, i%
  x = Split(s)
  For i = 0 To UBound(x)
    If Len(x(i))>1 then if instrrev(x(i),Right(x(i), 1),Len(x(i)) - 1) Then x(i) = Replace(Left(x(i), Len(x(i)) - 1), Right(x(i), 1), ".") & Right(x(i), 1)
  Next
  f = Join(x)
End Function
Ушел учить мат.часть
0
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 8
01.06.2012, 17:20  [ТС]
Я чайник,ребята какую нужно форму создать? У меня не получается что-то(
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.06.2012, 17:21
Такую:
Visual Basic
1
2
3
sub aa()
msgbox f("МОЙ ТЕКСТ")
end sub
и без формы.
0
0 / 0 / 0
Регистрация: 01.06.2012
Сообщений: 13
01.06.2012, 19:02
Ребята, мы тупые студенты напишите нам нормально код программы чтобы он работал, мы ваще ппц непонимаем ничего в этом коде он для нас как китайский язык! нужен код чтобы его тупо ввести и чтобы он работал и когда мы вводили бы текст Все работать должно ептЭ!помогите плиз) ато код ы какието нерабочие чтото там нужно менять чтобы они работали( или зделайте плиз всамом вижуал бейсике 6,0 это задание и залейте на фриспейс http://freespace.by
0
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 8
01.06.2012, 19:13  [ТС]
Цитата Сообщение от Mindfreak667 Посмотреть сообщение
Ребята, мы тупые студенты напишите нам нормально код программы чтобы он работал, мы ваще ппц непонимаем ничего в этом коде он для нас как китайский язык! нужен код чтобы его тупо ввести и чтобы он работал и когда мы вводили бы текст Все работать должно ептЭ!помогите плиз) ато код ы какието нерабочие чтото там нужно менять чтобы они работали( или зделайте плиз всамом вижуал бейсике 6,0 это задание и залейте на фриспейс http://freespace.by
или на депозит..
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
01.06.2012, 19:36
Никаких файлопомоек. Файлы нужно прикреплять к посту, в расширенном режиме "Скрепка"
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
02.06.2012, 05:38
Цитата Сообщение от Saddler Посмотреть сообщение
или зделайте плиз всамом вижуал бейсике 6,0
Вы в разделе VBA. Это код для него. Ничего менять не нужно. Тупо вставить код функции ikki_cf и процедуру (ALT+F8).
Вложения
Тип файла: xls To4ki.xls (27.0 Кб, 17 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
02.06.2012, 07:46
Ребята, мы тупые студенты напишите нам нормально код программы чтобы он работал, мы ваще ппц непонимаем ничего в этом коде он для нас как китайский язык! нужен код чтобы его тупо ввести и чтобы он работал и когда мы вводили бы текст Все работать должно ептЭ

Не по теме:

+
Вот с этим заявлением вам как будущим "СПЕЦИАЛИСТАМ" и руководителям производства лучше обратится в деканат

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.06.2012, 07:46
Помогаю со студенческими работами здесь

Удалить из слова все предыдущие вхождения последней буквы
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных латинских букв; между соседними словами –...

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

Удалить из слова все предыдущие вхождения последней буквы
program lab6; Var s,sl,st:string; i:byte; Begin write('Posledovatelnost slov: ');readln(s); if s='.' then Delete(s,Length(s),1); ...

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

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru