Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Hamastri
0 / 0 / 0
Регистрация: 13.10.2016
Сообщений: 28
1

Не могу понять как правильно считать строки

07.05.2017, 11:14. Просмотров 216. Ответов 5
Метки нет (Все метки)

Задача:
Кликните здесь для просмотра всего текста

Задача1. «Поиск в строке»

Самым популярным вопросом прошлого контеста был вопрос о сколь угодно длинных строках. По многочисленным просьбам контест открывает задача из этого репертуара.
Дан текст. В нем может быть текст, сколь угодно длинные строки и т.д..
Если в нем встречается число 1543, то на выходе выведите слово URA, если же 1543 не встречается, выведите NO.


Моё решение:
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
#include <iostream>
#include <string>
 
using namespace std;
 
 
int main()
{
    int l, s, r, h=0;
    string line, str, nov;
    line  = "1543";
    getline(cin, str);
    l = line.size() - 1;
    s = str.size() - 1;
    r = s - l;
    if(line.size() > str.size())
    {
        cout << "NO" << endl;
        return 0;
    }
 
    else
        for(int i = 0; i <= r; i++)
        {
            nov = str.substr(i, l+1);
            if (line == nov)
            {
                cout << "URA" << endl;
                return 0;
            }
 
        }
    cout << "NO" << endl;
    return 0;
}
Моё решение верно, но программа считывает только 1 строку до абзаца, и валится на тесте, где даны 4 строки. Как исправить?
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2017, 11:14
Ответы с готовыми решениями:

Не могу понять как написать правильно.
Не могу понять как это написать правильно. Оно даже не компилируется. ...

Не могу понять как правильно сделать задачу с функциями
В рамках университетского Дня спорта в соревнованиях по кроссу участвуют...

Не могу понять, как правильно передать указатель на объект в файл
Есть вектор v, который надо отсортировать. Есть класс MergeSort, который это...

не могу понять че тут не правильно
задание: Дана последовательность чисел а1,а2,...,аn. Указать наименьшую длину...

Не могу понять правильно ли сделана?
В радиоателье хранятся квитанции о сданной в ремонт радиоаппарату- ре. Каждая...

5
Kudryashov_R_D
20 / 20 / 10
Регистрация: 11.09.2015
Сообщений: 101
07.05.2017, 11:56 2
Hamastri, если твоё решение правильное, то стой на своём!
А что неправильно делает программа, ты можешь определить, вставив в неё отладочные строки. Например, перед строкой 16 выведи значения line.size() и str.size().
0
Hamastri
0 / 0 / 0
Регистрация: 13.10.2016
Сообщений: 28
07.05.2017, 12:21  [ТС] 3
Я же написал:
программа считывает только 1 строку до абзаца, и валится на тесте, где даны 4 строки. Как исправить?
Мне нужно, чтобы программа считывала столько строк, сколько есть, а не первую.
0
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
07.05.2017, 12:23 4
Цикл с getline().
0
Hamastri
0 / 0 / 0
Регистрация: 13.10.2016
Сообщений: 28
07.05.2017, 12:31  [ТС] 5
Цитата Сообщение от nmcf Посмотреть сообщение
Цикл с getline().
Это-то понятно, я пробовал while(getline(cin, str)); но он считывает бесконечно. Какое должно быть ограничение в моей программе?
0
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
07.05.2017, 12:41 6
Нужно вместо очередной строки нажать Ctrl+Z и Enter.
0
07.05.2017, 12:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2017, 12:41

Не могу понять почему программа работает не правильно!
Задание: Программа находит в строке 1 символ который не входит во 2 заданную...

Не могу правильно считать данные из потока
Привет всем. У меня есть такая задача. На вход поступает дробь вида 1 1/4...

Написал программу, не могу понять правильно или нет
Написать функцию sum с переменным числом параметров, которая находит сумму...


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

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

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