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

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

02.06.2012, 12:13. Показов 2129. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2012, 12:13
Ответы с готовыми решениями:

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

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

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

3
 Аватар для Awful
12 / 12 / 3
Регистрация: 09.11.2009
Сообщений: 65
02.06.2012, 12:27
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  [ТС]
Awful, а можете поподробнее объяснить условие, а то не очень понятно.
0
 Аватар для Awful
12 / 12 / 3
Регистрация: 09.11.2009
Сообщений: 65
02.06.2012, 15:13
Цитата Сообщение от 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2012, 15:13
Помогаю со студенческими работами здесь

Поиск и вывод слов начинающихся на '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!=' ') {s1=s; i++;

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru