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

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

Войти
Регистрация
Восстановить пароль
 
InHale
1 / 1 / 0
Регистрация: 08.02.2011
Сообщений: 57
#1

Вывод вопросительного предложения - C++

22.02.2012, 15:41. Просмотров 639. Ответов 3
Метки нет (Все метки)

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


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <stdio.h>
#include <string.h>
 
 
 
using namespace std;
 
int main()
{
    char stroka[500];
    gets(stroka);
 
          for (int i = 0; i < strlen(stroka); i++){
              if ((stroka[i]=='?'){
                      for(int i=0; i<strlen(stroka); i++)
                          cout<<stroka[i] ;
               }
       }
}
но когда начал тестить, встретился с такой проблемой. Если написать любое предложение типа ( бла-бла-бла-бла? и бла-бла-бла ) выводит весь массив. Тоесть если написать большой текст, и там будет хоть 1 вопросительный знак, то выведет весь текст, а не само предложение. Что можно сделать? Что бы предложения, после и до вопросительного знака не выводились?)

И ещё думал, что бы выводило текст - что нету вопросительных предложений, через ELSE но ничего толком не выходит ( перекрывает текст, который с "?"), вот набросок:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
#include <string.h>
 
 
 
using namespace std;
 
int main()
{
    char stroka[500];
    gets(stroka);
 
          for (int i = 0; i < strlen(stroka); i++){
               if (stroka[i]=='?'){
                      for(int i=0; i<strlen(stroka); i++)
                          cout<<stroka[i] ;
               }
 
               else {cout<<"<----No interrogative sentence";break;}
         }
}
буду благодарен за помощь )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 15:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод вопросительного предложения (C++):

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

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

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

Вывод предложения в обратном порядке С++ - C++
Надо сделать так что бы программа выводила слова из предложения в обратном порядке

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

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

3
Байт
Нарушитель
Эксперт C
16693 / 10957 / 1687
Регистрация: 24.12.2010
Сообщений: 21,377
22.02.2012, 18:01 #2
C
1
2
3
4
5
6
7
8
 l = strlen(stroka); // Так не приходится вычислять strlen при каждом проходе цикла
 for (int k=-1, i = 0; i < l; i++){
         if (stroka[i]=='.' || stroka[i]=='!') k = i; // запоминаем конец последнего предложения
         if (stroka[i]=='?'){
                for(int ii=k+1; ii<=i; ii++) cout<<stroka[ii] ;
                k = i;
         }
  }
Добавлено через 3 минуты
А уже после основного цикла
C
1
if (k<0) cout<<"<----No interrogative sentence";
То, что ты написал, сработает на первом же проходе (если первый знак, конечно, не вопрос)
2
InHale
1 / 1 / 0
Регистрация: 08.02.2011
Сообщений: 57
23.02.2012, 00:32  [ТС] #3
Байт

Спасибо больше за помощь
0
Байт
Нарушитель
Эксперт C
16693 / 10957 / 1687
Регистрация: 24.12.2010
Сообщений: 21,377
23.02.2012, 00:53 #4
Цитата Сообщение от InHale Посмотреть сообщение
Байт
Спасибо больше за помощь

Не по теме:

Приятно, что не зря старался

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

Вывод последовательности слов предложения в обратном порядке - C++
Суть задания - вывести на экран последовательность слов в предложении в обратном порядке. К примеру: вместо &quot;Good day&quot; вывести &quot;day Good&quot;....

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

Вывод на экран предложения, содержащие максимальное количество знаков пунктуации - C++
Здравстуйте. Задание такое: Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие максимальное...

Как реализовать вывод символов предложения в виде функции корня квадратного? - C++
Как реализовать вывод символов предложения в виде функции корня квадратного, где можно прочитать про это ?


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

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

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