Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 14.11.2015
Сообщений: 161
1

String subscript out of range

17.08.2018, 09:42. Показов 1217. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почитала на форуме, что данная ошибка появляется при выходе за границы массива. Задача - найти самое длинное слово. Крашится программа на 23ей строке, когда заканчивается первое слово.

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
#include <string>
#include <iostream>
using namespace std;
 
int main() {
    string s;
    getline(cin, s);
    int MaxLetters = 0, NowLetters = 0;
    string maxstr = "", nowstr = "";
    for (int i = 0; i < s.length(); i++)
    {
        if (s[i] != ' ')
        {
            NowLetters++;
            nowstr += s[i];
        }
        if (s[i] == ' ')
        {
            if (NowLetters > MaxLetters)
            {
                for (int j = 0; j < nowstr.length(); j++)
                {
                    maxstr[j] = nowstr[j];
                }
            }
        }
    }
    cout << maxstr;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2018, 09:42
Ответы с готовыми решениями:

String subscript out of range
Здравствуйте! Выбивает ошибку &quot;string subscript out of range&quot;, хотя все предложение, которое...

String subscript out of range
#include &lt;SFML/Graphics.hpp&gt; #include &lt;sstream&gt; #include &lt;iostream&gt; using namespace sf; const...

String subscript out of range
Разбираю пример, который дала препод в примерах к лекциям..Пример по коду Виженера.. Пару раз...

String subscript out of range
При запуске выдает ошибку &quot;string subscript out of range&quot;. Подскажите, в чем проблема. #include...

1
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
17.08.2018, 09:52 2
Лучший ответ Сообщение было отмечено LaLeka как решение

Решение

1) В maxstr есть ровно ноль символов. Соответственно, попытка изменить любой символ ведет к ошибке, за отсутствием этого самого символа.
2) Символы добавляются в конец через push_back.
3) maxstr = nowstr. Это не Си, здесь можно.
1
17.08.2018, 09:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2018, 09:52
Помогаю со студенческими работами здесь

Тип string и subscript out of range
Доброго времени дня. Такая проблема. Обращаюсь к отдельному элементу массива: #include...

Expression: string subscript out of range
Программа должна выводить кол-во повторов символов в тексте но почему то выводит ошибку Expression:...

Ошибка: string subscript out of range
Прошу помощи, сам никак уже больше половины дня не могу разобраться с этим. При запуске после...

Ошибка String subscript out of range
Здравствуйте. Написал на Dev C++ 4.9.9.2 программу которая открывает фаил и кладет все в буфер....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru