Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Dread1
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
1

В заданном массиве строк найти все слова, в которых 2 раза встречается символ и вывести эти слова

01.11.2012, 21:55. Просмотров 694. Ответов 4
Метки нет (Все метки)

не могу сообразить как написать цикл, в котором он выделяет слова, и потом выделяет из этих слов слова с 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
#include <stdio.h>
#define N 6
#define M 80
 
int main()
{
char str[N] [M], sy, wordfirst[480], wordfinal[480];
int i, j, count;
for (i=0; i<N; i++)
    gets(str[i]);
for (i=0; i<N; i++)
    puts(str[i]);
printf("Enter the symbol");
scanf("%c", &sy);
for (i=0; i<N; i++)
    {
    for (j=0; j<M; j++)
        if (str[i][j]==sy && str[i][j] != '\n')
            {
            count++;
            wordfirst+=(char)str[i][j];
            if (count>1)
            {
            wordfinal+=' '+wordfirst;
            count = 0;
            }
            }
    else
        {
        wordfirst=0;
        count = 0;
        }
    }
puts(wordfinal);
return 0;
}


Здесь у меня присвоение не работает, так как ругается на несовместимость типов

Добавлено через 1 час 7 минут
всё что после
C
1
scanf("%c", &sy);
я так понимаю не правильно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 21:55
Ответы с готовыми решениями:

В заданном массиве строк найти все слова, содержащие заданное количество гласных букв, и вывести их
Помогите, пожалуйста, написать программу!)

Из вводимых строк найти слова, у которых заданный символ встречается дважды - Не работает scanf
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt;...

Найти слова, первый и последний символы которых совпадают, и вывести эти слова и их количество
Нужно найти слова, у которых совпадают первый и последний символы, посчитать их...

В заданном массиве строк найти все слова, содержащие заданное сочетание символов
Здравствуйте. Помогите, пожалуйста, решить задачу. В заданном массиве строк...

В заданном массиве строк найти все слова, начинающиеся и заканчивающиеся на одну и ту же букву
В заданном массиве строк найти все слова, начинающиеся и заканчивающиеся на...

4
СашаН
269 / 269 / 144
Регистрация: 15.03.2012
Сообщений: 598
Записей в блоге: 1
01.11.2012, 23:34 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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 6
#define M 80
 
int main()
{
    char str[N] [M], sy, copy[M], *ptr, *temp;
    int i, j, count;
 
    for (i=0; i<N; i++)
        gets(str[i]);
    for (i=0; i<N; i++)
        puts(str[i]);
    printf("Enter the symbol");
    scanf("%c", &sy);
 
    for (i=0; i<N; i++) {
        strcpy(copy, str[i]);
        ptr = strtok(copy, " ,.");
        while (ptr) {
            count = 0;
            temp = ptr;
            while (temp=strchr(temp,sy)) {
                ++temp;
                ++count;
            }
            if (count==2)
                puts(ptr);
            ptr = strtok(NULL, " ,.");
        }
    }
    return 0;
}
1
Dread1
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
02.11.2012, 00:07  [ТС] 3
ну вообще не плохо, но не идеально . Сейчас может доделаю- выложу свою программу. Просто в этой не совсем грамотно взят размер *temp так как если у нас 1ое слово из 2 букв, то он в конце не выведет нормально данные. А так, спасибо за идею
0
fanatdebian
Z3JheSBoYXQ=
339 / 234 / 83
Регистрация: 08.07.2012
Сообщений: 577
02.11.2012, 05:18 4
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
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <ctype.h>
 
#define stb  10
#define str  256
int main(){
 
    struct word{
        int index;
        char name[256];
        int count;
    };
    
    struct word w[255];
 
    char s[stb][str]={ {"some  ss tester sdfsdfasdf asdfasdsa asdsd ssssdfsd sdfsd"}, {"lkjlkj lskdjflsdkf ssd sssdf"}};
    int i=0,j=0, cw=0,index=0,k=0;
    char sym;
    bool inWord=true;
 
 
    printf("enter sym: ");
    scanf("%c", &sym);
    
    for(i=0; i<stb; i++)
        if(strlen(s[i])>0) index++;
 
    for(i=0; i<index; i++){
       for(j=0; j<strlen(s[i])+1; j++){
        if(s[i][j]!=' ' && (isalpha(s[i][j]))){
            if(inWord){
                cw++;
                inWord=false;
                k=0;
            }
        }else{
            inWord=true;
            w[cw].count=k;
            w[cw].index=cw;
        }
        if(isalpha(s[i][j])) {
            w[cw].name[k++]=s[i][j];
        }
    }
  }
    for(index=0,i=0; i<cw+1; i++){
        for(j=0; j<w[i].count; j++){
            if(index==2){
                index=0;
                printf("\n%s",w[i].name);
                break;
            }
            if(sym==w[i].name[j]) index++;
        }
    }
        
return 0;
}
1
Dread1
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
02.11.2012, 15:36  [ТС] 5
СашаН, нет, всё правильно сделано я просто допустил ошибку
1
02.11.2012, 15:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 15:36

В заданном массиве строк найти все слова, содержащие заданное сочетание символов
в заданном массиве строк найти все слова,содержащие заданное сочетание...

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

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


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

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

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