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

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

Войти
Регистрация
Восстановить пароль
 
Ромка666
6 / 6 / 0
Регистрация: 02.10.2010
Сообщений: 100
#1

Вычыслить количество слов в строке, длинна которых равна 3 символам и вывести их на экран, если же таких слов нет, то выдать об этом сообщение. - C++

14.11.2011, 22:07. Просмотров 834. Ответов 3
Метки нет (Все метки)

Вычыслить количество слов в строке, длинна которых равна 3 символам и вывести их на экран, если же таких слов нет, то выдать об этом сообщение.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2011, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычыслить количество слов в строке, длинна которых равна 3 символам и вывести их на экран, если же таких слов нет, то выдать об этом сообщение. (C++):

Вывести на экран слова, в которых все символы повторяющиеся, или сообщение «Нет», если требуемых слов нет - C++
Дана последовательность символов, состоящая из слов. Вывести на экран слова, в которых все символы повторяющиеся, или сообщение «Нет», если...

Вывести на экран все шестизначные числа, сумма цифр которых равна N и сообщить количество таких чисел - C++
Дано натуральное число N. Вывести на экран все шестизначные числа, сумма цифр которых равна N и сообщить количество таких чисел.(помогите...

Найти и вывести на экран индексы заданных элементов массива(если их нет,выдать соответствующее сообщение) - C++
Найти и вывести на экран индексы заданных элементов массива(если их нет,выдать соответствующее сообщение).

Определить и вывести на экран количество слов во введеной строке - C++
определить и вывести на экран количество слов во введеной строке

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

Преобразовать полученный текст в набор строк, каждая из которых содержит целое количество слов и ее длинна не превышает 40 символов - C++
Преобразовать полученный текст в набор строк, каждая из которых содержит целое количество слов (слово должно целиком находиться в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
14.11.2011, 23:52 #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
47
48
49
50
#include <iostream>
#include <queue>
using namespace std;
 
struct chars3 {
   char str[4];
   chars3(void) {
      str[3] = '\0';
   }
   inline operator char*(void) {
      return str;
  }
};
 
size_t  count_chars3(const char* str, queue<chars3>* q3) {
  chars3 n;
  size_t cnt = 0u;
  const char* iter;
  while(*str) {
        for( ;! isalpha(*str) && *str; *str++);
        for(iter = str; isalpha(*iter) && *iter; *iter++);
        if((iter - str) == 3) {
            strncpy(n.str, str, 3u * sizeof(char));
            q3->push(n);
            cnt++;    
        }
        str = iter;
  }
  return cnt;
}
 
 
int main(void) {
  queue<chars3>  words;
  char str[255] = "THE (optional) (APL, ADA), Red, xor, and, or in, INT, VAR. qwery";
  // cin.getline(str, sizeof(str), '\n');
 
   size_t cnt = count_chars3(str, &words);
   if(cnt == 0u) 
       cout << "such words do not !!!" << endl;
   else
       cout << "count words: " << cnt << endl;
 
   while( ! words.empty()) {
        cout << (char*)words.front() << endl;
        words.pop();
   }
   cin.get();
   return 0;
}
0
Ромка666
6 / 6 / 0
Регистрация: 02.10.2010
Сообщений: 100
15.11.2011, 00:20  [ТС] #3
А можно, как нибудь по проще, я новичок и разобраться в данном коде для меня ещё тяжеловато.Но и на этом огромное спасибо.
0
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
15.11.2011, 02:36 #4
Ромка666, вот посмотри этот вариант должен быть по-легче.
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 <ctype.h>
using namespace std;
 
bool get_wsign3(char* dst, char** str) {
  int cnt = 0;
  char* ptr = *str;
  do {
       if(isalpha(*ptr)) 
           cnt++;
       else {
           if(cnt > 0) {
                if(cnt == 3) {
                     strncpy(dst, ptr - cnt, 3u * sizeof(char));
                     break;
                }
           }
           cnt = 0;
       }
  } while(*ptr++ != '\0');
  *str = ptr;
  return (*ptr != '\0');
}
 
int main(void) {
   char buf[4] = { '\0' };
   char str[255] = "THE (optional) (APL, ADA), Red, xor, and, or in, INT, VAR. qwery";
   // cin.getline(str, sizeof(str), '\n');
 
   int cnt = 0;
   for(char* ptr = str; get_wsign3(buf, &ptr); cnt++) 
        cout << buf << endl;
 
   if(cnt == 0u) 
        cout << "such words do not !!!" << endl;
   else
        cout << "count words: " << cnt << endl;
   cin.get();
   return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2011, 02:36
Привет! Вот еще темы с ответами:

Определить количество слов в строке и вывести на экран слова строки в столбик - C++
Добрый вечер! Помогите разобраться: Исходное задание: Дана строка текста, в которой слова разделены символами # и пробелами. ...

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

Подсчитать и вывести на экран количество слов, символами которых являются двоичные цифры - C++
Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и вывести на экран количество слов, символами которых...

Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и вывести на экран количество введенных слов - C++
Задание: Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и вывести на экран количество введенных слов. ...


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

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

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