Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация
 
tyrbotroll
Форумчанин
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 77
Записей в блоге: 1
22.12.2012, 16:39     1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»   #1
Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а».
AdAgent
Объявления
22.12.2012, 16:39    1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2012, 16:39    1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»

Посмотрите здесь:

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

C (СИ) [C] Дана строка длиной n. Удалить из нее цифры

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

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

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

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

C (СИ) С Дана строка. Удалить из нее все подстроки delete

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

C (СИ) Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка

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

BACKSEET
Новичок
1 / 1 / 0
Регистрация: 03.11.2010
Сообщений: 16
22.12.2012, 18:23     1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»   #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  [ТС]     1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»   #3
Цитата Сообщение от BACKSEET Посмотреть сообщение
Код 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;
}
а не мог бы переделать чтобы мы сами вводили строку а то у меня не получается.И прокоментируй пожалуйста последний цикл while а то я как то не очень понял
РостикUSA
Новичок
3 / 3 / 0
Регистрация: 29.10.2012
Сообщений: 41
23.12.2012, 00:27     1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»   #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  [ТС]     1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»   #5
Цитата Сообщение от РостикUSA Посмотреть сообщение
Код 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;
}
ошибка в 12 строчке глянь пожалуйста
РостикUSA
Новичок
3 / 3 / 0
Регистрация: 29.10.2012
Сообщений: 41
23.12.2012, 20:02     1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»   #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  [ТС]     1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»   #7
Все работает,спасибо за помощь
Yandex
Объявления
23.12.2012, 20:24    1. Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 20:43. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.