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

C для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
tyrbotroll
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 77
Записей в блоге: 1
#1

Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а» - C (СИ)

22.12.2012, 16:39. Просмотров 1754. Ответов 6
Метки нет (Все метки)

Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а».
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2012, 16:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а» (C (СИ)):

Дана строка символов. Удалить из нее все гласные буквы. - C (СИ)
Доброго времени суток! Дана строка символов. Удалить из нее все гласные буквы.

Дана строка символов до точки. Удалить из строки первые буквы каждого слова - C (СИ)
написал подобное #include <stdio.h> #include <stdlib.h> #include<string.h> int main () { char a, s; char...

Дана строка символов до точки. Записать слова этой строки в обратном порядке - C (СИ)
Дана строка символов до точки. Записать слова этой строки в обратном порядке (мама мыла раму > раму мыла мама). Подскажите кто что...

Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка - C (СИ)
Доброго времени суток! Нужно решить такую задачу (желательно с блок-схемой): Дана строка символов до точки. Определить, сколько слов,...

Выделить из строки str1 все слова, начинающиеся с гласной буквы, а из строки str2 - слова, начинающиеся с согласной - C (СИ)
Выделить из строки str1 все слова, начинающиеся с гласной буквы, а из строки str2 - слова, начинающиеся с согласной. Образовать строку...

Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a» - C (СИ)
Задание-> Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a». Помогите пожалуйста с кодом на языке СИ (...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BACKSEET
1 / 1 / 1
Регистрация: 03.11.2010
Сообщений: 16
22.12.2012, 18:23 #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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
int main(void)
{
    char str[] = { "test1 asd test2 asdasd test3." };
    size_t i;
    char *pBegin, *pEnd;
    for (i = 0; i < strlen(str); i++)
    {
        if ((str[i] == 'a' && i == 0) || (str[i] == 'a' && i > 0 && (ispunct(str[i - 1]) || isspace(str[i - 1]))))
        {
            pBegin = str + i;
            pEnd = pBegin;
            while (isalpha(*pEnd))
                ++pEnd;
            strcpy(pBegin, pEnd);
        }
    }
 
    puts(str);
 
    return 0;
}
tyrbotroll
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 77
Записей в блоге: 1
22.12.2012, 19:50  [ТС] #3
а не мог бы переделать чтобы мы сами вводили строку а то у меня не получается.И прокоментируй пожалуйста последний цикл while а то я как то не очень понял
РостикUSA
3 / 3 / 0
Регистрация: 29.10.2012
Сообщений: 41
23.12.2012, 00:27 #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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
int main(void)
{
    char str[20];
    size_t i;
    char *pBegin, *pEnd;
    printf ("Input your sentence:\n");
    gets ("%s",&str);
    for (i = 0; i < strlen(str); i++)
    {
        if ((str[i] == 'a' && i == 0) || (str[i] == 'a' && i > 0 && (ispunct(str[i - 1]) || isspace(str[i - 1]))))
        {
            pBegin = str + i;
            pEnd = pBegin;
            while (isalpha(*pEnd))
                ++pEnd;
            strcpy(pBegin, pEnd);
        }
    }
 
    puts(str);
 
    return 0;
}
tyrbotroll
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 77
Записей в блоге: 1
23.12.2012, 14:43  [ТС] #5
ошибка в 12 строчке глянь пожалуйста
РостикUSA
3 / 3 / 0
Регистрация: 29.10.2012
Сообщений: 41
23.12.2012, 20:02 #6
Исправил

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 <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
 
int main(void)
{
    char str[20];
    size_t i;
    char *pBegin, *pEnd;
    printf ("Input your sentence:\n");
    gets (str);
    for (i = 0; i < strlen(str); i++)
    {
        if ((str[i] == 'a' && i == 0) || (str[i] == 'a' && i > 0 && (ispunct(str[i - 1]) || isspace(str[i - 1]))))
        {
            pBegin = str + i;
            pEnd = pBegin;
            while (isalpha(*pEnd))
                ++pEnd;
            strcpy(pBegin, pEnd);
        }
    }
 
    puts(str);
    getch();
    return 0;
}
tyrbotroll
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 77
Записей в блоге: 1
23.12.2012, 20:24  [ТС] #7
Все работает,спасибо за помощь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2012, 20:24
Привет! Вот еще темы с ответами:

Дана строка длиной n. Удалить из нее цифры - C (СИ)
Уважаемые, не могли бы вы написать программу на языке Си, а не си++? Буду очень благодарен! 1.Дана строка длиной n. Удалить из нее цифры...

Удалить слова из строки начинающиеся с определенной буквы - C (СИ)
Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы а

В символьной строке удалить все слова, которые содержат буквы, не входящие в разрешённый набор символов - C (СИ)
В символьной строке удалить все слова, которые содержат буквы, не входящие в разрешённый набор символов. Реализация на си не получается,...

Удалить из строки все слова, начинающиеся с цифры - C (СИ)
программа то работает только первый раз в цикле а дальше работает не так как нужно ... #include &lt;stdio.h&gt; #include &lt;string.h&gt; ...


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

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

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