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

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

Войти
Регистрация
Восстановить пароль
 
vadiprog
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 108
#1

Удалить из строки слова, которые оканчиваются на гласную - C++

07.04.2012, 22:14. Просмотров 873. Ответов 3
Метки нет (Все метки)

Удалить из заданой строки все слова оканчивающиеся на гласную букву. Напишите пожалуйста!

Добавлено через 1 час 56 минут
Вот программа которая удаляет слова у которых в конце ан... может ктото переделать её на то чтобы удаляло слова которые оканчиваются на гласную, или же просто переделайте на то чтобы вводилась с консоли строка


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
#include <iostream>
#include <string>
#include <iomanip>
 #include <cstdlib>
using namespace std;
 
int main(){
    char str[]="history of American people ";
    int i,k;
    i=k=0;  
    for(; i!=sizeof(str); i++){
        if(str[i]=='a' && str[i+1]=='n'){ 
            break;
        }
    }
        if(str[i]=='a'){
            for(;str[i]!=32 && i!=-1; i--);
            k = i+1;    
            for(i++;str[i]!='\0' && str[i]!=32;i++);        
            //cout<<"str[i]="<<str[i]<<i<<"\n";
            if(str[i]!='\0'){
                for(;str[i]!='\0';i++,k++){     
                    str[k]=str[i];
                }
            }str[k]='\0';
             
            cout<<str<<"\n\n";
        }   
        system("PAUSE");
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2012, 22:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из строки слова, которые оканчиваются на гласную (C++):

Удалить из строки все слова, начинающиеся на гласную букву - C++
Здравствуйте, помогите написать программу. за скудностью своих знаний уже часов 5 сижу. вот с чего я начинал: #include&lt;iostream&gt; ...

Вывести только те слова из строки, которые начинаются и оканчиваются на заданную букву - C++
Вывести только те слова сообщения, которые начинаются и оканчиваются на заданную букву. Где у меня проблема? #include...

Из строки распечатать только те слова, которые начинаются и оканчиваются одной и тоже буквой - C++
Здравствуйте, помогите пожалуйста с реализацией программы. Из заданной текстовой строки распечатать только те слова, которые начинаются и...

Вывести из файла все слова, которые начинаются на гласную букву - C++
Вивести из файла все слова котрые начинаются на гласную букву. Слова записаны на английском. ООООЧень нужна помощь!

Удалить из текста все слова заканчивающиеся на гласную букву - C++
Использовать можно только массив символов, переменные string и их функции запрещены( Начал пытаться продумывать решение сам и пришел...

Удалить из строки все слова, которые не являются идентификаторами - C++
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В...

3
Sergey-K
233 / 224 / 13
Регистрация: 27.10.2011
Сообщений: 249
08.04.2012, 00:03 #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 <iostream>
#include <string>
#include <iomanip>
#include <cstdlib>
using namespace std;
 
int main()
{
  string str = "Remove from the given string all words ending in a vowel letter";
  str += " ";
  char mas[] = "aeiouyAEIOUY";
  string tmp;
  string res;
  int length = str.length();
  for(int i = 0; i < length; i++)
    {
      if(str[i] != ' ')
        tmp += str[i];
      else
        {
          for(int j = 0; j < sizeof(mas); j++)
            if(tmp[tmp.length() - 1] == mas[j])
              {
                tmp = "";
                break;
              }
          res += tmp;
          if(tmp != "" && i != length - 1)
            res += " ";
          tmp = "";
        }
    }
  cout << res << "\n";
  system("pause");
  return 0;
}
1
vadiprog
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 108
08.04.2012, 01:07  [ТС] #3
Цитата Сообщение от Sergey-K Посмотреть сообщение
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 <iostream>
#include <string>
#include <iomanip>
#include <cstdlib>
using namespace std;
 
int main()
{
  string str = "Remove from the given string all words ending in a vowel letter";
  str += " ";
  char mas[] = "aeiouyAEIOUY";
  string tmp;
  string res;
  int length = str.length();
  for(int i = 0; i < length; i++)
    {
      if(str[i] != ' ')
        tmp += str[i];
      else
        {
          for(int j = 0; j < sizeof(mas); j++)
            if(tmp[tmp.length() - 1] == mas[j])
              {
                tmp = "";
                break;
              }
          res += tmp;
          if(tmp != "" && i != length - 1)
            res += " ";
          tmp = "";
        }
    }
  cout << res << "\n";
  system("pause");
  return 0;
}
Поменял начало на
string str;
cin>>str;

и когда ввожу строку то выводит только слова те что были до первого слова с последней гласной буквой...
0
Sergey-K
233 / 224 / 13
Регистрация: 27.10.2011
Сообщений: 249
08.04.2012, 01:50 #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
#include <iostream>
#include <string>
#include <iomanip>
#include <cstdlib>
using namespace std;
 
int main()
{
  string str;
  getline(cin, str);
  str += " ";
  char mas[] = "aeiouyAEIOUY";
  string tmp;
  string res;
  int length = str.length();
  for(int i = 0; i < length; i++)
    {
      if(str[i] != ' ')
        tmp += str[i];
      else
        {
          for(int j = 0; j < sizeof(mas); j++)
            if(tmp[tmp.length() - 1] == mas[j])
              {
                tmp = "";
                break;
              }
          res += tmp;
          if(tmp != "" && i != length - 1)
            res += " ";
          tmp = "";
        }
    }
  cout << res << "\n";
  system("pause");
  return 0;
}
1
08.04.2012, 01:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2012, 01:50
Привет! Вот еще темы с ответами:

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

Удалить из строки все слова, которые начинаются на заглавную букву - C++
слова в строке могут разделяться пробелами и знаками препинания,в конце &quot;.&quot; необходимо удалить из строки все слова,которые начинаются на...

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

Найти в строке те слова, которые начинаются и оканчиваются одной и той же буквой - C++
Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой.


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

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

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