Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
1

Вывод предложений, начинающихся с тире

02.06.2012, 12:13. Просмотров 1200. Ответов 3
Метки нет (Все метки)

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

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
// 359.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    const int len=120;
    char word[len], line[len];
    char del[]= ".,!?/<>|)(*::\ ";
    int l_word=0;
    int k=0;    
    int count=0;
    ifstream fin("text.txt", ios :: in );
    if (!fin) {cout <<"Don't worry!!!!"<<endl; }
    while (fin.getline(line,len))
    {
        
        for (int i=0; i<strlen(line); i++)
        {
            if((line[i]=='-' || line[i+1]=='-') && line[i]==' ')
                cout <<line<<endl;
 
        }   
 
    }
    
    return 0;
}
Дело в том, что не выводятся предложения, начинающиеся просто с тире. Как условие правильно составить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2012, 12:13
Ответы с готовыми решениями:

Вывод предложений, начинающихся с тире
Здравствуйте, помогите пожалуйста! Написать программу, которая считывает текст из файла и выводит...

Определить количество предложений, начинающихся с отступа
{deleted} П.5.9. Правил Экзаменационная задачка, СРОЧНО, помогите пожалуйста написать...

Вычислить количество предложений, начинающихся с заданного симолва
Записать в файл текст. Считать текст из файла и вычислить количество предложений,начинающихся с...

Поиск и вывод слов начинающихся на 'l'
{int i,j; char s,s1; cin.getline(s,255); for(i=0;i&lt;255;i++) { if (s=='l') {j=i; while (s!='...

3
12 / 12 / 3
Регистрация: 09.11.2009
Сообщений: 65
02.06.2012, 12:27 2
C++
1
2
3
4
5
6
7
{
if (line [i]==' ')
    continue;
if (line [i] =='-')
    cout <<line<<endl;
else break;
}
Соответственно по пробелу перейдем на следующий символ, по тире - выведем строку. Если попадется что-то еще - строка не начинается с тире, конец цикла
1
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
02.06.2012, 13:09  [ТС] 3
Awful, а можете поподробнее объяснить условие, а то не очень понятно.
0
12 / 12 / 3
Регистрация: 09.11.2009
Сообщений: 65
02.06.2012, 15:13 4
Цитата Сообщение от KOPC1886 Посмотреть сообщение
Awful, а можете поподробнее объяснить условие, а то не очень понятно.
ну вот в общем конечный вид внутреннего цикла. У нас есть строка line,начинаем просмотр с 0-го символа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
        for (int i=0; i<strlen(line); i++)
        {
               if (line [i]==' ') // Если символ пробел( пробелы возможны по условию)
                    continue; /*  переходим на следующий шаг цикла - будем проверять 
следующий элемент*/
               if (line [i] =='-') /* на каком-то шаге мы найдем тире (если были пробелы), 
либо сразу( если пробелов не было), либо вообще сюда не дойдем
, если нам когда-то встретится другой символ.*/
                    cout <<line<<endl; // выводим строку , соответствующую условию
               else break; /* если встретился сторонний символ( не пробел и не тире) 
- прерываем цикл, это не искомая строка.*/
        }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2012, 15:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вывод предложений в обратном порядке
например ввели текст там 3 предложения : Ночь. Улица. Фонарь. вывод должен быть таков:...

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

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

Вывод слов начинающихся и оканчивающихся на гласные буквы
Если с ручным вводом строки понятно, то как потом по отдельности выводить каждые слова такого типа?


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

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

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