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

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

Войти
Регистрация
Восстановить пароль
 
N-Dubz
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 27
#1

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

02.04.2013, 10:23. Просмотров 771. Ответов 6
Метки нет (Все метки)

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

Вывести те слова, которые отличаются от последнего слова и удовлетворяют условию, что в слове нет повторяющихся букв - C++
Короче я сделал так #include <stdio.h> #include <ctype.h> #include <string.h> #include <stdlib.h> void main() { int const...

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

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

Напечатать слова, в которых нет повторяющихся букв - C++
Помогите пожалуйста переделать задачку вот код #include <iostream> #include "MyCrt.h" #include <conio.h> using namespace std; ...

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

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

6
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
02.04.2013, 11:41 #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
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iterator>
#include <iostream>
#include <istream>
#include <string>
#include <functional>
 
template <class InputIterator, class OutputIterator, class Predicate>
OutputIterator copy_if(InputIterator first, InputIterator last,
  OutputIterator result, Predicate pred) {
  while(first!=last) {
    if(pred(*first)) {
      *result++ = *first;
    }
    ++first;
  }
  return result;
}
 
bool hasNoRepeatingLetters(const std::string &word) {
  unsigned char *bits = new unsigned char[32]();
  for (std::string::const_iterator i = word.begin();
    i != word.end(); ++i) {
    if (bits[*i / 8] & (1 << (*i % 8))) {
      return false;
    }
    bits[*i / 8] |= 1 << (*i % 8);
  }
  return true;
}
 
int main(int argc, char *argv[]) {
 
  copy_if(std::istream_iterator<std::string>(std::cin),
    std::istream_iterator<std::string>(),
    std::ostream_iterator<std::string>(std::cout, "\n"),
    hasNoRepeatingLetters);
 
  std::cin.get();
  return 0;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
02.04.2013, 11:56 #3
Цитата Сообщение от N-Dubz Посмотреть сообщение
Доброго времени суток. помогите написать программу в С++.
Дан текст. Напечатать те слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв.
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
#include <string>
#include <iostream>
using namespace std;
 
bool isSingleChars(string word);
 
int main()
{
    string text;
    string word;
    char chEnd = 0;
    //Цикл ввода
    cout<<"Input   : ";
    while(chEnd != '\n')
    {
        chEnd = cin.get();
        if(isspace(chEnd) || chEnd == '\n' )
        {
            if(isSingleChars(word))
                text += word + chEnd;
            word = "";
        }
        else
            word += chEnd;
    }
    cout<<"Output : "<<text<<endl;
    cin.get();
    return 0;
}
 
bool isSingleChars(string word)
{
    size_t   count = 0;
    size_t   fpos  = 0;
    for(size_t pos = 0; pos < word.length(); pos++)
    {
        for
        (
            fpos = word.find(word[pos], 0); 
            fpos != string::npos; 
            fpos = word.find(word[pos], fpos + 1)
        )
            count++;
    }
    //слово состоит из разных символов если кол-во 
    //встречаемых символов равно длинне слова
    return count == word.length();
}
0
Миниатюры
Строка: напечатать слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв  
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.04.2013, 15:47 #4
На какой оси? Принтер от этого очень зависим.
0
ISergey
Maniac
Эксперт С++
1375 / 886 / 52
Регистрация: 02.01.2009
Сообщений: 2,661
Записей в блоге: 1
15.04.2013, 15:52 #5
Цитата Сообщение от taras atavin Посмотреть сообщение
На какой оси? Принтер от этого очень зависим.
Бред.
Цитата Сообщение от N-Dubz Посмотреть сообщение
Здравствуйте. помогите написать программу на языке С++. дан текст. напечатать те слова которые удовлетворяют следующему свойству, в слове нет повторяющихся букв
Пользуйтесь поиском.
Напечатать те слова строки, в которых нет повторяющихся букв
0
Tulosba
15.04.2013, 16:21
  #6

Не по теме:

Цитата Сообщение от ISergey Посмотреть сообщение
Бред.
Видимо слово "напечатать" ассоциировалось у taras atavin с принтером

0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
27.05.2013, 12:22 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <string>
#include <sstream>
 
int main()
{
    std::string s = "Very const big biggest tree long";
    std::istringstream iss(s);
    for (std::string comp; iss>>s; iss)
    {
        comp = s;
        std::sort(comp.begin(), comp.end());
        if (std::adjacent_find(comp.begin(), comp.end()) == comp.end())
            std::cout<<s<<" ";
    }
    std::cout<<'\n';
    
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 12:22
Привет! Вот еще темы с ответами:

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

Напечатать слова последовательности, которые отличны от первого и без повторяющихся букв - C++
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не...

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

Строки: Вывести на экран только те слова, которые отличаются от последнего и в которых нет повторяющихся букв. - C++
вводи с клавиатуры строку. Вывести на экран только те слова, которые отлчаются от последнего и в которых нет повторяющихся букв.


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
27.05.2013, 12:22
Ответ Создать тему
Опции темы

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