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

удаление слов из строки - C++

Восстановить пароль Регистрация
 
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
16.04.2012, 20:51     удаление слов из строки #1
Здравствуйте! помогите пожалуйста!!!
нужно удалить из строки все слова, заканчивающиеся на букву к, если они есть.
проверку сделала, а как слова удалить не знаю, даже с чего начать! посмотрите пожалуйста!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
int a=0;
 char s[50];
 gets(s);
 cout<<endl;
for (int i=0;i<strlen(s);i++)
 { if ((s[i]=='k' && s[i+1]==' ')||(s[i]=='k' && s[i+1]==NULL))
   a++;
   }
 if (a==0)
 cout<<"net slov"<<endl;
 else
 cout<<"esty slova"<<endl;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
19.04.2012, 20:49  [ТС]     удаление слов из строки #2
никто не поможет???
Heretiqu3
10 / 10 / 2
Регистрация: 19.04.2012
Сообщений: 20
19.04.2012, 20:58     удаление слов из строки #3
Цитата Сообщение от samira di Посмотреть сообщение
проверку сделала, а как слова удалить не знаю, даже с чего начать!
Создаете дополнительную строку и все найденные слова засовываете туда.
Удалить нельзя.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
19.04.2012, 21:20     удаление слов из строки #4
Цитата Сообщение от Heretiqu3 Посмотреть сообщение
Создаете дополнительную строку и все найденные слова засовываете туда.
Удалить нельзя.
можно удалить, через указатели и в конце поставить '\0'
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
20.04.2012, 05:56     удаление слов из строки #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
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
 
int main(void)
{
    static char ch = '\0';
    static char* psz = new char[256];
 
    printf("Vvedite stroku: "); gets(psz);
    printf("Vvedite simvol: "); scanf("%c",&ch);
 
    for (int i = 0; (psz[i] != '\0') && (i < strlen(psz)); i++)
        if (psz[i] == ch && (isspace(psz[i+1]) || psz[strlen(psz)-1] == ch))
        {
            int k = i; while((!isspace(psz[k])) && (k >= 0)) k--;
            for (int q = i; (isspace(psz[0])) || (q >= k); q--)
            {
                 if ((!isspace(psz[k+1])) && (k < 0)) k = 0;
                 for (int n = k; (psz[n] != '\0')
                      && (n < strlen(psz)); n++) psz[n] = psz[n+1];
            }
 
            i = k;
        }
 
    printf("%s\n",psz);
 
    _getch();
 
    return 0;
}
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
20.04.2012, 13:36  [ТС]     удаление слов из строки #6
Спасибо большое!!!

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <stdio.h>
#include <string.h>
int main()
{
 
   char s[256],w;
   fgets(s,sizeof(s),stdin);
   scanf("%c",&w);
   int a = 0;
   char* p = s;
   while((p = strchr(p, w))) ++a, ++p;
 
   cout<<a<<endl;
 
   return 0;
        }
Heretiqu3
10 / 10 / 2
Регистрация: 19.04.2012
Сообщений: 20
20.04.2012, 13:46     удаление слов из строки #7
while((p = strchr(p, w|0x20))) ++a, ++p;

только для англ. алфавита
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
20.04.2012, 23:02  [ТС]     удаление слов из строки #8
да, нужно для английского алфавита!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2012, 15:17     удаление слов из строки
Еще ссылки по теме:

C++ Строки. Удаление слов
C++ Удаление из строки слов, длина которых меньше заданной
Здесь есть удаление столбца, как добавить удаление строки C++

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

Или воспользуйтесь поиском по форуму:
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
29.04.2012, 15:17  [ТС]     удаление слов из строки #9
и снова здравствуйте!
возникла проблема, нужно написать пошаговое словесное описание программы, все очень подробно! помогите пожалуйста!

Добавлено через 1 минуту
это к программе,которая удаляет слова, заканчивающихся на букву "k"
Yandex
Объявления
29.04.2012, 15:17     удаление слов из строки
Ответ Создать тему
Опции темы

Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru