8 / 6 / 3
Регистрация: 14.04.2019
Сообщений: 71
1

Подсчитать количество слов, которые имеют нечетную длину

26.11.2019, 14:09. Показов 1266. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Есть задание:
оформить каждый пункт задачи выбранного варианта в виде функции. Все необходимые данные для функций передаются им в качестве параметров. Использование глобальных переменных в функциях не допускается. С клавиатуры вводится текстовая строка. Составить программу, которая подсчитывает количество слов, которые имеют нечетную длину; выводит на экран частоту вхождения каждой буквы; удаляет текст размещен в круглых скобках.
Кто поможет решить? Работать с строчками не сильно научился, но вот что у меня пока есть:
p.s > работает, но считает за слово такое, как "4исло 564 54ва56" и т.д
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>
 
 
using namespace std;
 
unsigned count_words_odd(const char* s);
void  print_repchar(FILE* _out, const char* s);
char* str_rem(char* s, char fc, char lc);
 
int main(void) {
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
 
    char s[] = "фвіві фів в  іфвфв і645 фі фів465ф ів45 фів65";
 
    printf("count words odd: %u\n", count_words_odd(s));
    print_repchar(stdout, s);
    puts(s);
    puts(str_rem(s, '(', ')'));
    return 0;
}
 
//кол-во слов, которые имеют нечетную длину
unsigned count_words_odd(const char* s) {
    unsigned i = 0, n = 0;
    do {
        if (isalnum(*s))
            ++i;
        else if (i > 0) {
            if (i & 1)
                ++n;
            i = 0;
        }
    } while (*s++ != '\0');
    return n;
}
 
//выводит на экран частоту вхождения каждой буквы
void print_repchar(FILE* _out, const char* s) {
    int i;
    unsigned int abc[26];
 
    memset(abc, 0, sizeof(abc));
    while (*s) {
        i = toupper(*s);
        if (i >= 'A' && i <= 'Z')
            ++abc[i - 'A'];
        ++s;
    }
 
    for (i = 0; i < 26; ++i) {
        if (abc[i] > 0)
            fprintf(_out, "%C(%u)\n", (char)(i + 'A'), abc[i]);
    }
    putc('\n', _out);
}
 
//удаляет текст размещен в круглых скобках
char* str_rem(char* s, char fc, char lc) {
    char* i, * p, * t = s;
    while (*s && (*s != fc))
        ++s;
 
    for (p = s; *s; *s = *p) {
        if (*p == fc) {
            i = p + 1;
            while (*i && (*i != lc))
                ++i;
 
            if (*i == lc) {
                ++s;
                p = i;
                continue;
            }
        }
        ++s;
        ++p;
    }
    return t;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2019, 14:09
Ответы с готовыми решениями:

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

Подсчитать количество слов строки, которые имеют нечетную длину
С клавиатуры вводится текстовая строка. Написать программу, которая: - подсчитывает количество...

Подсчитать количество элементов, которые больше 1000 и имеют нечетную сумму координат
Здраствуйте, поомгите пожайлучта... Даны две матрицы A , B . Подсчитать количество элементов,...

Найти слова которые имеют нечетную длину
Здравствуйте, товарищи программисты!!!Вот две задачки, которые нужно написать: Дана строка...

0
26.11.2019, 14:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2019, 14:09
Помогаю со студенческими работами здесь

Вывести из этого массива только те числа, которые имеют нечетную длину
Есть массив чисел. Вывести из этого массива только те,которые имеют нечетную длину и медиана...

Извлечь те строки, которые имеют нечетную длину и начинаются с заглавной латинской буквы
Дано целое число K (&gt; 0) и строковая последовательность A. Из элементов A, предшествующих элементу...

Дана строка разделенная пропусками. Подсчитать количество слов которые имеют не менее двух символов 'c'
Помогите решить

Удалить из строки слова, которые начинаются на букву "r" и имеют нечётную длину
Дана строка. Слова отделены пробелом. Вывести строку, удалив слова, которые начинаются на букву &quot;r&quot;...

Подсчитать количество слов, которые начинаются с буквы а Найти длину самого короткого слова
Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не...

Определить количество слов, имеющих нечетную длину и содержащих в центре букву «i»
Помогите решить задачу Следует ввести с клавиатуры текст, содержащий не менее 15 слов различной...


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

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

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