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

Найти все слова, в которые заданный символ входит не менее двух раз

12.02.2012, 08:33. Показов 1310. Ответов 4
Метки нет (Все метки)

Написать 2 программы

1)
Найти все слова, в которые заданный символ входит не менее двух раз

2)
Найти все слова, в которые заданный символ входит не менее двух раз


Для каждой программы написать 2 варианта:
1 вариант - работа со строками поэлементно char
2 вариант максимально использовать стандартные подпрограммы.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2012, 08:33
Ответы с готовыми решениями:

Найти слова в которые заданный символ входит не менее двух раз
Очень срочно нужен код пожалуйста! Сижу на ГОСах! помогите Дан текст! Найти слова в которые...

Дан текст. Найти слова, в которые заданный символ входит не менее двух раз
Дан текст. Найти слова, в которые заданный символ входит не менее двух раз.

Найти и напечатать все слова строки, в которые заданный символ входит наибольшее количество раз
Задано текст, слова в котором разделены пробелами и разделительными знаками, и символ. Разработать...

Найти все группы букв, в которые буква а входит не менее двух раз
Дан текст, Каждый символ которого может быть малой буквой, цифрой или одним из знаков + - * Группой...

4
309 / 232 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
12.02.2012, 13:04 2
ага. значит, для себя отметим: в Барнауле обучают программистов-лодырей
вам на Си написать?
0
2553 / 1318 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.02.2012, 13:31 3
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
#include <stdio.h>
#include <string.h>
                                                  
#define DELIM ",.?!:;() \t\n"
 
int main(void)
{
    char str[] = "hello world \t-Wall walle \npff lalalal\n";
    char symbol = 'l';
    unsigned min = 2;
    char* p, *tmp;
    unsigned count;
    for(p = strtok(str, DELIM); p != NULL; p = strtok(NULL, DELIM))
    {
        tmp = p;
        count = 0;
        while(*tmp != '\0')
        {
            if(*tmp == symbol)
                ++count;
            if(count == min)
                break;
            ++tmp;
        }
        if(count == min)
            printf("%s\n", p);
    }
    return 0;
}
http://liveworkspace.org/code/... fd42cf3840
1
Фрилансер
Эксперт С++
5843 / 1224 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
12.02.2012, 13:43 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

В старом стиле через STL
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <algorithm>
#include <string>
 
int main()
{
    std::string Str;
    std::getline(std::cin, Str);
    char ch;
    std::cin>>ch;
    std::size_t end, beg = Str.find_first_not_of(" ,._");
    while(beg != std::string::npos)
    {
        end = Str.find_first_of(" ,._", beg);
        std::string temp = Str.substr(beg, end - beg);
        if(std::count(temp.begin(), temp.end(), ch) > 2)
            std::cout<<temp<<" ";
        beg = Str.find_first_not_of(" ,._", end);        
    }
    std::cout<<std::endl;
    system("pause");
    return 0;
}
0
309 / 232 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
12.02.2012, 14:30 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
//~ дан текст. найти слова, в которых
//~ заданный символ входит не менее двух раз
 
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
//~ размер вводной строки
#define MAX_INPUT 1024
//~ размер слова
#define MAX_WORD 256
 
 
int is_two_symbols_in_word(char, char []);
 
int main()
{
    int i=0;
    char sentence[MAX_INPUT];
    char symbol; 
    int  i_word=0;
    char check_word[MAX_WORD];
    
    strcpy(sentence, "spell tell Проверка работы кода: заданный желаННый");
    strcat(sentence, " ");
 
    symbol='н';
    //~ scanf("%c", &symbol);
    
    while (sentence[i] != '\0') {
        if ( sentence[i] != ' ' ) {
            check_word[i_word]=sentence[i];
            i++;
            i_word++;
        } else {
            check_word[i_word]='\0';
            i++;
            i_word=0;
            if ( is_two_symbols_in_word(symbol, check_word) >= 2 )
                printf("%s\n", check_word);
        }
    }
 
    return 0;
}
 
 
//~ ищет два одинаковых символа в слове
int is_two_symbols_in_word(char symbol, char check_word[]) {
    int i_word=0;
    int yes=0;
    char symbol1=symbol;
    //~ это symbol1 в другом регистре
    char symbol2=symbol;
 
    //~ не работает с русскими буквами. только ASCII - т.е. английский
    //~ if (islower(symbol1)) {
        //~ symbol2=toupper(symbol);
    //~ } else {
        //~ symbol2=tolower(symbol);
    //~ }
 
 
    while (check_word[i_word] != '\0') {
        if (check_word[i_word] == symbol1 || check_word[i_word] == symbol2) {
            yes++;
 
            //~ если два символа уже найдено
            //~ чтобы не читать слово целиком
            if (yes >= 2) {
                break;
            }
        }
        i_word++;
    }
    return yes;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2012, 14:30

Найти все такие группы букв, в которые буква a не входит не менее двух раз
Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +, -, *....

Найти все такие группы букв, в которые буква а входит не менее двух раз
Дан текст, каждый символ которого может быть малой буквой или цифрой. Группой букв будем называть...

Найти все такие группы букв, в которые буква а входит не менее двух раз
Задание: Дан текст, каждый символ которого может быть малой буквой, цифрой, или одним из знаков...

Строковые переменные: Найти все слова, в которых буква ''а'' входит не менее двух раз
Дан текст. Найти все слова, в которых буква ''а'' входит не менее двух раз.


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

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

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