Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HelenDark
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 32
#1

Сформировать строку, в которую попадут только те слова, где одинаковые буквы встречаются более 2 раз - C++

26.05.2015, 19:37. Просмотров 444. Ответов 6
Метки нет (Все метки)

Дан текст состоящий не менее чем из 5 слов,сформировать строку,в которую попадут только те слова где одинаковые буквы встречаются более 2 раз. сразу скажу,задача есть на форуме,есть решение,но проблема в том,что преподаватель не хочет принимать её с классами, нужен код без классов, заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2015, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать строку, в которую попадут только те слова, где одинаковые буквы встречаются более 2 раз (C++):

Сформировать строку, в которую попадут только те слова, где одинаковые буквы встречаются более двух раз - C++
Ребят помогите сро4но, 2 задачи не полу4аются, буду признателен если поможете!!! 1.Дан текст, состоящий не менее чем из пяти слов....

Сформировать строку из слов, в которых одинаковые буквы встречаются более двух раз - C++
Дан текст, состоящий не менее чем из пяти слов. Сформировать строку, в которую попадут только те слова, где одинаковые буквы встречаются...

Вывести только те слова сообщения, которые встречаются в нем более n раз - C++
Нужно выполнить эту задчку используя только библиотеки string и iostream. Буду очень благодарен, если вам не трудно. Дано...

Подсчитать, сколько раз в строке встречаются одинаковые слова - C++
Дана строка символов, состоящая из букв английского алфавита и пробелов. Напишите программу, которая подсчитывает, сколько раз в строке...

Напечатать только те буквы слов, которые встречаются в обоих словах только один раз - C++
Пожалуйста помогите!!!!задача на строки на С.Даны 2 слова.Напечатать только те буквы слов,которые встречаются в обоих словах только один...

Напечатать только те буквы слов, котрые встречаются в обоих словах только один раз - C++
Помогите решить в Borland c++ Если можно еще блок-схему Заданы два слова. Напечатать только те буквы слов, котрые встречаются в...

6
HelenDark
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 32
01.06.2015, 22:47  [ТС] #2
ребят ну помогите( надо сделать к четвергу
0
mymedia
193 / 193 / 48
Регистрация: 27.05.2011
Сообщений: 544
01.06.2015, 23:28 #3
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
#include <iostream>
#include <string>
 
bool have_double_symbols(const std::string& str) {
    for (size_t i = 0; i < str.length(); i++) {
        for (size_t j = 0; j < str.length(); j++) {
            if (str[i] == str[j]) {
                return true;
            }
        }
    }
    return false;
}
 
int main() {
    using namespace std;
    while (cin) {
        string word;
        cin >> word;
        if (have_double_symbols(word)) {
            cout << word << " ";
        }
    }
}
Добавлено через 7 минут
Или вот вариант в моём более любимом стиле
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
 
bool have_double_symbols(std::string str) {
    std::sort(str.begin(), str.end());
    return std::adjacent_find(str.begin(), str.end()) != str.end();
}
 
int main() {
    using namespace std;
    copy_if(istream_iterator<string>(cin), istream_iterator<string>(),
            ostream_iterator<string>(cout, " "), have_double_symbols);
}
0
HelenDark
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 32
04.06.2015, 14:18  [ТС] #4
классы нельзя использовать( ну я попробую первую,вроде то что нужно, спасибо))

Добавлено через 30 минут
препод требует функции модуля string такие как unsigned strlen(char* str) и другие( что делать
0
mymedia
193 / 193 / 48
Регистрация: 27.05.2011
Сообщений: 544
04.06.2015, 17:17 #5
Цитата Сообщение от HelenDark Посмотреть сообщение
классы нельзя использовать
Тогда вам в другой раздел.
На на С++ классы не использовать не получится, т.к. даже вот такая строчка уже активно использует классы и шаблоны.
C++
1
cout << "Hello, world!" << endl;
Цитата Сообщение от HelenDark Посмотреть сообщение
препод требует функции модуля string такие как unsigned strlen(char* str) и другие
Вам проеподу шашечки или ехать? Про операции над сишными строками можно прочитать здесь или тут.

Цитата Сообщение от HelenDark Посмотреть сообщение
что делать
Я бы посоветовал, учиться

Добавлено через 3 минуты
Если уж вам так прямо нужно на Си, то позаменяйте в первом варианте тип string на char*. Не забудьте в главной функции выделить память под строчку.
0
HelenDark
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 32
05.06.2015, 00:20  [ТС] #6
спасибо, я учусь, просто много пропустила по болезни и многое теперь не понимаю.

Добавлено через 1 час 12 минут
первый вариант программы выдаёт ошибку
Ошибка 1 error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден c:\Users\Лена\documents\visual studio 2010\Projects\k\k\LINK
0
Roirt
Заблокирован
05.06.2015, 08:35 #7
mymedia, а если в тексте будут не только пробелы, но и запятые и точки? А если будет троеточие, у тебя будет это слово с одинаковыми буквами _)

Добавлено через 41 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
//init
    char init[] = "this is a text...";
 
    //result
    char* word = std::strtok(init, " :,.");
    while (word != nullptr){
        int size = std::strlen(word);
        for (int i = 0; i < size - 1; i++)
        if (std::find(word + i + 1, word + size, word[i]) != word + size)cout << word << endl;
        word = std::strtok(nullptr, " :,.");
    }
0
05.06.2015, 08:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2015, 08:35
Привет! Вот еще темы с ответами:

Даны две строки, сформировать третью из символов, которые встречаются более двух раз - C++
Добрый день, помогите с задачей пожалуйста:) Даны две строки, сформировать третью из символов , которые встречаются более двух раз. ...

Ввести строку, в которую могут входить только цифры и буквы - C++
Ввести строку, в которую могут входить только цифры и буквы. Распечатать те группы букв, в которых буквы А встречается не менее двух раз....

Задан текст. Напечатать буквы этого текста, которые встречаются только 1 раз - C++
Доброго времени суток. Помогите, пожалуйста, составить программу. Заранее огромное спасибо.

Слова предложения, содержащие две или более одинаковые буквы переместить в другое предложение - C++
Здраствуйте. Помогите пожалуйста с написанием программы на С (не ++). &quot;Введите предложение. Слова предложения, содержащие две или...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru