С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
ToyS
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 44
#1

Строки. Удаление слова - C++

23.04.2010, 16:42. Просмотров 1303. Ответов 10
Метки нет (Все метки)

Удалить слово "Kon" входящее в строку.
Язык обычный не Об.Ор-й.

Помогите пожалуйста, а то я совсем запуталась(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2010, 16:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки. Удаление слова (C++):

Удаление слова из строки - C++
Почти все сделал, а со строкой не получается... И слово не удаляет и режет потом строку неправильно. Помогите найти ошибку, пожалуйста: ...

С++ удаление слова из строки - C++
Дана строка типа S='один два три четыре' удалить из строки последнее слово

Удаление слова из строки - C++
Задание: Написать программу удаления последнего слова из строки Код: #include <iostream.h> #include <string.h> main() { char...

Удаление слова из строки - C++
Помогите пожалуйста, немогу написать программму: Дана строка из 20 слов (словом считается любой набор букв, за которым следует...

Удаление слова из строки - C++
Помогите написать прогу ,которая будет удалить из каждой строки первое слово.

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

10
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
24.04.2010, 06:52 #2
Про язык не понял, поясни.
0
M128K145
Эксперт С++
8300 / 3520 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.04.2010, 13:26 #3
kazak, без использования ООП
0
ToyS
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 44
24.04.2010, 14:03  [ТС] #4
да не ООП
то есть использовать не iostream,а stdio)
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
24.04.2010, 14:06 #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
#include <stdio.h>
#include <string.h>
 
int main()
{
   char str[80];
   char word[] = "Kon";
   int i, j, l;
 
   printf("Введите строку: ");
   fgets(str, 80, stdin);
   if (strstr(str, word))
   {
      l = strstr(str, word) - str;
      for (j = 0; j <= strlen(word); j ++)
         for (i = l; i < strlen(str); i++)
         {
            str[i] = str[i+1];
         }
      printf("%s\n", str);
   }
   else
       printf("Строка не содержит нужного слова\n");
}
1
ToyS
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 44
24.04.2010, 14:18  [ТС] #6
работает!) но не совсем верно оО т.е. удаляет по 5 букв и это не всегда слово "kon"
0
PointsEqual
ниначмуроФ
837 / 521 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
24.04.2010, 15:11 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
#include <conio.h>
 
 
int main(){
    int i;
    std::string s1="function head kon explic";
    std::string s2;
    std::cout<<"Vvedite clovo kotoroe nado ydalit:: ";
    std::cin>>s2;
 
    i=s1.find(s2);
    if (i!=std::string::npos){
        std::cout<<"naideno clovo v pozicii= "<< i <<std::endl;
        s1.erase(i,s2.size());
        std::cout<<s1;
    }
    return 0;
}
ахх.. надоже без ооп( ну тогда не могу помоч
1
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
24.04.2010, 15:27 #8
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
#include <stdio.h>
#include <string.h>
 
int main()
{
   char str[80];
   char word[] = "Kon";
   unsigned int l = 0, i, j;
 
   printf("Ââåäèòå ñòîêó: ");
   fgets(str, 80, stdin);
   str[strlen(str)-1] = '\0';
   while (strstr(str+l, word))
   {
      l = strstr(str+l, word) - str;
      if ((str[strlen(word)+l] == ' ') || (l + strlen(word) == strlen(str)))
      {
         for (j = 0; j <= strlen(word); j++)
            for (i = l; i < strlen(str); i++)
               str[i] = str[i+1];
      }
      l += strlen(word);
   }
   printf("%s\n", str);
   getchar();
   return 0;
}
1
ToyS
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 44
24.04.2010, 16:12  [ТС] #9
Все равно так же... правда, теперь удаляет либо 4 буквы, либо 5
0
<Norton>
Отдыхающий:)
94 / 91 / 10
Регистрация: 05.04.2009
Сообщений: 188
24.04.2010, 19:01 #10
Си знаю плохо, т.к. на С++)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>
 
int main()
{
    char s[80], *word = "Kon", out[80]="", *tmp=0;
    fgets(s, 80, stdin);
    tmp = strtok(s, word);
    while (tmp!=NULL){
        strcat(out, tmp);
        tmp = strtok(NULL, word);}
    printf("%s", out);
    return 0;
}
Добавлено через 21 минуту
Вот последний вариант:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
int main()
{
    char s[80], *word = "Kon", out[80]="", *tmp=0;
    unsigned short int i;
    fgets(s, 80, stdin);
    tmp = strtok(s, word);
    while (tmp!=NULL){
        if (tmp[0] == ' '){
            for (i = 0; i<strlen(tmp)-1; i++)
                tmp[i] = tmp[i+1];
            tmp[strlen(tmp)-1] = '\0';}
        strcat(out, tmp);
        tmp = strtok(NULL, word);}
    printf("%s", out);
    return 0;
}
1
ToyS
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 44
24.04.2010, 20:15  [ТС] #11
<Norton>, огромная вам, благодарность! все работает! =)

Спасибо всем, кто помогал)
0
24.04.2010, 20:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2010, 20:15
Привет! Вот еще темы с ответами:

удаление из строки слова - C++
Помогите написать полностью код программы для поиска в строке слова и его удаления Добавлено через 8 минут и ещё нужно вывести...

Удаление последнего слова из строки - C++
Написать программу удаления последнего слова из строки. Заранее благодарю.

Строки (Удаление слова из строки) - C++
с нахождением слова проблем не возникает, а вот с удалением всех вхождений этого слова проблема! задание:Найти самое длинное слово...

Удаление слова после запятой из строки, упростить программу - C++
Я написал программу для удаления одного слова после запятой, но она получилась очень громистка! Как ее можно записать проще, но чтобы так...


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

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

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