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

Напечатать слова, в которых нет повторяющихся букв

11.01.2015, 23:34. Показов 4907. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста переделать задачку вот код
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include "MyCrt.h"
#include <conio.h>
 
using namespace std;
 
void task7()
{
    int Exit;
    do
    {
        Exit = 0;
        ClrScr();
 
        char buffer[50][9]; // массив слов
        int p = 0, s = 0; // индекс текущего слова, индекс текущего символа
 
        cout << "Последовательность 2-50 слов, в которых 1-8 букв. Между словами произвольное число пробелов. За последним словом точка. Напечатать самые длинные слова." << endl << endl << "Введите строку: " << endl;
        char c = (char)_getch(); // текущий символ
        do
        {
            if (c == ' ')
            {
                if (p == 49)
                {
                    c = (char)_getch();
                    continue;
                }
                if (s != 0)
                {
                    buffer[p][s] = 0;
                    s = 0;
                    p++;
                }
            }
            else
            {
                if (s == 8)
                {
                    c = (char)_getch();
                    continue;
                }
                buffer[p][s] = c;
                s++;
            }
            cout << c;
            c = (char)_getch();
        } while (c != '.');
        buffer[p][s] = 0;
        if (Exit == 1) continue;
 
        // Выводим самые длинные слова:
        cout << endl << endl << "Самые длинные слова:" << endl;
        for (int i = 8; i > 0; i--)
        {
            bool f = false;
            for (int j = 0; j <= p; j++)
            {
                if (strlen(buffer[j]) == i)
                {
                    cout << buffer[j] << endl;
                    f = true;
                }
            }
            if (f) break;
        }
 
        cout << "\n\nЗавершить работу(ESC) / Заново(Любая другая клавиша)?";
        Exit = Getch();
    } while (Exit != 27);
}
надо переделать на такую задачку:
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами произвольное число пробелов, за последним словом точка.
Напечатать слова, в которых нет повторяющихся букв.
надо на С++, заранее спасибо.
Миниатюры
Напечатать слова, в которых нет повторяющихся букв  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2015, 23:34
Ответы с готовыми решениями:

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

Строки. Напечатать слова, в которых нет повторяющихся букв
Дана последовательность, содержащая от 1 до 30 слов. Слова разделены одним или несколькими пробелами. За последним словом – точка....

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

1
44 / 44 / 15
Регистрация: 23.09.2009
Сообщений: 63
19.01.2015, 14:38
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
 
int main() {
        string str;         // считываемая строка
        int k = 0;
        int j = 0;
        string buffer[50]; // массив слов
        // считываем строку
        getline(cin, str);
        // разбор строки
        for (int i = 0; i < str.length() && str.substr(i, 1) != "."; i++)
            {   
                // символ
                if(str.substr(i, 1) != " ")
                    {
                        // добавим к текущей строке
                        buffer[k].append( str.substr(i, 1) );
                        j++;
                    }
                // если встретился пробел
                else
                    {
                        // не первое слово и до этого тоже не пробел
                        // к тому же, следующее значение не пробел и не точка
                        if (j > 0 &&  i + 1 < str.length() && str.substr(i + 1, 1) != "." && str.substr(i + 1, 1) != " ")
                                    {
                                        // переходим на новое слово в массиве
                                        k++;
                                        j = 0;
                                    }
                    }
                
            }
            // проверяем слова на повторяемость букв в них
            for (int i = 0; i <= k; i++)
                {
                    // берем символ строки
                    for (int j = 0; j < buffer[i].length(); j++)
                        // сравниваем с остальными
                        for (int f = j + 1; f < buffer[i].length(); f++)
                                if( buffer[i].substr(j, 1) == buffer[i].substr(f, 1) )
                                    {
                                        buffer[i].clear();
                                        break;
                                    }
 
                }
            // вывод слов
            for (int i = 0; i <= k; i++)
                    // не пустая строка
                    if ( !buffer[i].empty() )
                        cout << "Word № " << i + 1 << " = "<< buffer[i] << endl;
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2015, 14:38
Помогаю со студенческими работами здесь

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

Напечатать те слова данной строки, которые отличны от последнего слова, и в слове нет повторяющихся букв
Доброго времени суток! Помогите пожалуйста решить задачу. Дана строка s, содержащая от 2 до 25 слов, в каждом из которых от 1 до 8 ...

Вывести слова, в которых нет повторяющихся букв и буквы слова упорядочены по алфавиту
Дан текст. Вывести слова, в которых нет повторяющихся букв и буквы слова упорядочены по алфавиту.

Вывести слова, в которых нет повторяющихся букв
Вариант 8. Вывести слова, в которых нет повторяющихся букв. Вывести слова, в которых буквы упорядочены по алфавиту. выкидываю все, что...

Вывести все слова в предложении в которых нет повторяющихся букв
Вывести все слова в предложении в которых нет повторяющихся букв. Как это реализовать ? Желательно примеры, заранее спасибо


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru