Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
maria929
0 / 0 / 0
Регистрация: 24.11.2016
Сообщений: 6
1

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

22.12.2016, 16:53. Просмотров 686. Ответов 3
Метки нет (Все метки)

напечатать все слова, состоящие только из разных латинских букв.(Большие и малые буквы не различаются)
нужно обязательно использовать функции.
Помогите, пожалуйста
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2016, 16:53
Ответы с готовыми решениями:

Удалить все слова, состоящие только из латинских букв
видаляє всі слова, що складаються тільки з латинських літер....

Создать программу, которая подсчитывает количество чисел в тексте и выводит на екран все слова, состоящие только из латинских букв
Создать программу , которая подщитывает количество чисел в тексте (не цыфр, а именно чисел);...

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

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

Напечатать все слова, состоящие только из цифр
напечатать все слова , состоящие только из цифр

3
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7761 / 3836 / 527
Регистрация: 04.12.2011
Сообщений: 11,160
Записей в блоге: 7
22.12.2016, 21:30 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
41
42
43
44
45
46
#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <algorithm>
using namespace std;
 
void to_low(string &str){
string ret_str("");
for(size_t i=0 ; i < str.length() ; ++i)str[i]=tolower(str[i]);
}
 
int main(int argc, char* argv[])
{
 
    string worss_array[]={
"The", "black", "Cat", "sat", "on", "a", "mat", "wana", "be", "sitting", "asacat"
    };
size_t n=sizeof(worss_array)/sizeof(worss_array[0]);
vector<string> lower_words(worss_array, worss_array+n);
for(size_t i=0 ; i < n ; ++i)
{
to_low(lower_words[i]);
cout<<lower_words[i]<<endl;
}
vector<string> unic_words;
 
cout<<endl;
for(size_t i=0 ; i < n ; ++i)
{
    set<char> unic_word_set(lower_words[i].begin(), lower_words[i].end());
string unic_word("");
set<char>::iterator it=unic_word_set.begin(), it_end=unic_word_set.end();
for(  ; it != it_end ; ++it)unic_word+=*it;
unic_words.push_back(unic_word);
}
cout<<endl;
cout<<endl;
for(size_t i=0 ; i < n ; ++i){
if(unic_words[i].length() == lower_words[i].length())
cout << lower_words[i] << endl;
}
cout<<endl;
system("pause");
return 0;
}
0
Fixer_84
1409 / 887 / 794
Регистрация: 30.04.2016
Сообщений: 3,044
22.12.2016, 22:18 3
maria929, здравствуйте. Вот мой вариант решения.

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 <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
 
bool IfAllDiff(string s)
{
    int p, k;
    sort(s.begin(), s.end());
    k = p = 0;
    for (int i = p; i < s.length() - 1; i++)
    {
        if ((s[i] == s[i+1]) || (s[i] == char(s[i+1] + 32)))
        {
            k++;
        }
        else
            p = k;
    }
    if (k == 0)
        return true;
    return false;
}
 
int main()
{
    const int N = 10;
    string arr[N]
        = { "So", "Guess", "Cock", "Hello", "Rare", "Bubble", "Coat", "Gold", "Pic", "Jazz" };
    cout << "Искомые слова:" << endl;
    for (int i = 0; i < N; i++)
    {
        if (IfAllDiff(arr[i]))
            cout << arr[i] << " ";
    }
    cout << endl;
    system("pause");
    return 0;
}
0
Nemovok
294 / 123 / 106
Регистрация: 30.10.2015
Сообщений: 689
Завершенные тесты: 2
23.12.2016, 00:19 4
Цитата Сообщение от Fixer_84 Посмотреть сообщение
Вот мой вариант решения.
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
#include <iostream>
#include <vector>
#include <cctype>
#include <cstring>
 
void latinWord(std::vector<std::string> &);
 
int main()
{
  size_t amountWord = 0;
 
  std::cout << "Enter amount word: "; // Вводим количество слов
  std::cin >> amountWord;
 
  std::vector<std::string> word(amountWord); // Создаем массив из слов
 
  for (size_t i = 0; i < amountWord; i++) {
    std::cout << "Enter word (" << i + 1 << "): ";
    std::cin >> word[i];
  }
 
  latinWord(word);
 
  return 0;
}
 
void latinWord(std::vector<std::string> &w)
{
  std::string resultStr;
 
  for (size_t i = 0; i < w.size(); i++) {
    bool flag = true;
    std::string backup = w[i]; // Делим массив на слова
    for (size_t j = 0; j < backup.length(); j++) {
      if (tolower(backup[j]) < 97 || tolower(backup[j]) > 123) { // Приводим каждый символ к нижнему регистру и сверяем с кодом
        flag = false;
      }
    } 
    if (flag) {
      resultStr = resultStr + backup + ' '; // Складываем подошедшие слова со строкой 
    }
  }
  std::cout << resultStr << std::endl; // Выводим результат
}
Добавлено через 1 час 1 минуту
Я задание неправильно прочитал. Думал, что нужно вывести слова, которые состоят из латинских букв и все.
0
23.12.2016, 00:19
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2016, 00:19

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

Подсчитать слова, состоящие из латинских прописных букв.
int main(int argc, char* argv) { int cnt=0, i; char *str=&quot;I can use the online Help system from...

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


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

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

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