Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 29.01.2015
Сообщений: 33
1

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

21.02.2018, 19:46. Показов 759. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот собственно задание:
Напечатать все слова предложения, в которые входят буквы, входящие в слово шина.
Вот код:
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
#include <stdio.h>
#include <locale.h>
#define STRLEN 80
#define WORDLEN 15
int main ()
{
    setlocale(LC_ALL, "Rus");
    int i,j,k,m,g,e,s,l;
    char str1[STRLEN];
    char str2[STRLEN];
    char word[WORDLEN];
    char bukv[WORDLEN] = "шина";
    printf("Пожалуйста, введите предложение:\n");
    for(i=0;(str1[i]=getchar())!='\n';i++);
    str1[i]='\0';
    i=0;
    m=0;
    while (str1[i]!='\0'){
        for (;str1[i]!='\0' && str1[i]==' '; i++);
        j=0;
        for (;str1[i]!='\0' && str1[i]!=' '; i++){
            word[j]=str1[i];
            j++;
        }
        l=j;
        word[j]='\0';
        s=0;
        for(j=0;word[j]!='\0';j++){
            e=0;
            for(g=0;bukv[g]!='\0';g++){
                if(word[j]==bukv[g]) e=1;
                }
            if(e==0) break;
            else s++;
            }
            if(s==l){
                for(j=0;word[j]!='\0';j++){
                    str2[m]=word[j];
                    m++;
                }
            str2[m]=' ';
            m++;
            }
        }
    str2[m]='\0';
    if(m==0) printf("Нет слова, которое состоит из тех же букв, что и слово «шина»\n");
    else printf("Слова, которое состоит из букв, как слово «шина»:\n%s\n",str2);
    return 0;
}
Мне нужно что бы выводило все слова из предложения (которое введет пользователь) буквы которых содержит слово "шина", то-есть: шина, машина, шиномонтаж, аниш, инша (лол) и т.д.
Мой код выводит только те слова в которых есть все буквы из слова "шина", и не каких других букв, то-есть: шина, инша, ниша, анши, наши ...

Либо второй вариант, слова которые содержат хоть одну букву из слова "шина" - Шишка, кАрмА, Настроение и т.д.

В общем либо первый, либо второй вариант)

Подскажите пожалуйста, как реализовать мою задумку?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2018, 19:46
Ответы с готовыми решениями:

Вывести все слова предложения, в которые входят буквы, входящие в слово "file"
Вывести все слова предложения, в которые входят буквы, входящие в слово &quot;file&quot;.(Без использования...

напечатать в алфавитном порядке все звонкие согласные буквы,которые входят в каждое нечетное слово и не входят ни в одно четное слово
помогите пожалуйста решить задачу** дан текст на русском языке.напечатать в алфавитном порядке все...

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

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

1
79 / 81 / 66
Регистрация: 03.04.2017
Сообщений: 216
22.02.2018, 13:38 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
#include <stdio.h>
#include <locale.h>
#define rprint(s) setlocale(LC_ALL, "Rus"); printf(s); setlocale(LC_ALL, "C")
int main() {
    rprint("Введите слово:\n");
    char chars[16];
    scanf("%16s", chars);
    rprint("Введите предложение:\n");
    char queue[128] = {0}, c = 0, k = 0;
    while(c != '\n') {
        char word[16], a = 0;
        scanf("%16s%c", word, &c);
        for(char i = 0, b = 1; b; i++) {
            if(!chars[i]) {
                a = 1;
                break;
            }
            b = 0;
            for(char j = 0; word[j]; j++) if(word[j] == chars[i]) b = 1;
        }
        if(a) {
            queue[k] = '\n', k++;
            for(char i = 0; word[i]; k++, i++) queue[k] = word[i];
        }
    }
    if(k) {
        rprint("Слова, которые состоят из букв, как слово ");
        printf("%s:%s", chars, queue);
    } 
    else {
        rprint("Нет слов, которые состоят из тех же букв");
    }
    return 0;
}
0
22.02.2018, 13:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2018, 13:38
Помогаю со студенческими работами здесь

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

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

Напечатать все согласные буквы которые входят в слова.
Здраствуйте! У меня возникла проблема с решением задачи.Если кто может помогите пожалуйста....

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


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

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