Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 12.11.2017
Сообщений: 5

Заменить все повторы первой буквы слова на точку

17.04.2018, 23:31. Показов 696. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить задачку:

С клавиатуры вводится строка состоящая из слов набранных заглавными буквами и разделенных пробелом. Заменить все повторы первой буквы слова на точку "." .Например слово "МИНИМУМ" превратить в "МИНИ.У."

Начал делать так, но как дальше не знаю.

C++
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
#include <iostream>
#include <string.h>
#include <stdio.h>
 
using namespace std;
 
int main(int argc, const char * argv[]) {
 
    // установить используемую системой локаль
    setlocale (LC_ALL,"Russian");
 
    // стоп-символ ввода
    char dot = '.';
 
    // бесконечный цикл пока не будет вызван break;
    while (true) {
        char c;
        cin >> c;
 
        // выход из цикла при условии что символ '.' введен
        if (c == dot) {
            break;
        }
    }
 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2018, 23:31
Ответы с готовыми решениями:

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

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

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

2
 Аватар для axela002
71 / 58 / 48
Регистрация: 12.03.2017
Сообщений: 563
17.04.2018, 23:43
Код выше совсем не подходит под условие задачи.
Делай так :
1.Вводится стpока
C++
1
2
string s;
cin >> s;
2.Сохpаняешь 1-й символ стpоки s в новую пеpеменную (это кому как удобно, можно это не делать).
C++
1
string s1 = s[0];
3.Далее идешь по циклу и пpовеpяешь, если s1 == s[i] то заменяешь s[i] на точку.
Цикл идет от 1 а не от 0 потому что 0-й символ стаpтовый и его не считаем, а то он его тоже заменит.
C++
1
2
3
4
5
6
7
for(int i = 1; i < s.length();i++) 
{
 
   if (s1[0] == s[i])  // Можно не сохpанять в новую пеpеменную 1-й символ. а пpосто писать if (s[0] == s[i])
      s[i] = ".";
 
}
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
09.05.2018, 15:54
den4ik_2277, здравствуйте! Вот решение:

Вариант 1:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    string s, word;
    cout << "Enter a string:\n";
    getline(cin, s);
    stringstream str(s);
    while (str >> word) {
        for (int i = 1; (i = word.find(word[0], i)) != string::npos; i++) {
            word[i] = '.';
        }
        cout << word << " ";
    }
    system("pause");
    return 0;
}
Вариант 2:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    string s, word;
    cout << "Enter a string:\n";
    getline(cin, s);
    stringstream str(s);
    while (str >> word) {
        for (int i = 1; i < word.size(); i++) {
            if (word[i] == word[0])
                word[i] = '.'; //word.replace(i, 1, ".");
        }
        cout << word << " ";
    }
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.05.2018, 15:54
Помогаю со студенческими работами здесь

Нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз - C++
Здравствуйте, мне нужно написать функцию но только не знаю как, нужно чтоб она трансформировала строку в такой вид: Входная строка: ...

Нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз
в файле дана последовательность букв A и B, нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз.

Строки: уничтожить в строке запятые перед первой точкой, заменить знаком + все цифры 3я после первой точки
Дано строка длиной n символов, среди которых есть хотя бы одна точка. превратить последовательность s1, s2, ... sn, уничтожив в ней все...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Камера 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, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru