0 / 0 / 0
Регистрация: 24.11.2016
Сообщений: 6
1

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

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

напечатать все слова, состоящие только из разных латинских букв.(Большие и малые буквы не различаются)
нужно обязательно использовать функции.
Помогите, пожалуйста
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2016, 16:53
Ответы с готовыми решениями:

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

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

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

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

3
Комп_Оратор)
Эксперт по математике/физике
8758 / 4500 / 605
Регистрация: 04.12.2011
Сообщений: 13,428
Записей в блоге: 16
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
1503 / 967 / 811
Регистрация: 30.04.2016
Сообщений: 3,334
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
295 / 124 / 106
Регистрация: 30.10.2015
Сообщений: 690
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2016, 00:19
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru