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

Expression: vector subscript out of range

30.07.2019, 16:45. Просмотров 2178. Ответов 17
Метки нет (Все метки)

Дано задание:

Напишите функцию, которая:
- называется PalindromFilter
- возвращает vector<string>
- принимает vector<string> words и int minLength и возвращает все строки из вектора words, которые являются палиндромами и имеют длину не меньше minLength
Входной вектор содержит не более 100 строк, длина каждой строки не больше 100 символов.

Примеры
words minLength результат
abacaba, aba 5 abacaba
abacaba, aba 2 abacaba, aba
weew, bro, code 4 weew

Я написал такое:

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
36
37
38
39
40
41
#include <iostream>
#include <vector>
#include <string>
 
bool IsPalindrom(std::string stroka)
{
    for (std::size_t a = 0, b = stroka.length() - 1; a < b / 2; a++)
    {
        if (stroka[a] == stroka[b - a])
        {
            return true;
        }
    }
    return false;
}
 
std::vector<std::string> PalindromFilter(std::vector<std::string> words, int minLength)
{
    std::vector<std::string> answer;
    for (std::size_t a = 0, b = words.size() - 1; a <= b; a++)
    {
        if (IsPalindrom(words[a]) == 1 && words[a].length() >= minLength)
        {
            answer.push_back(words[a]);
        }
    }
    return answer;
}
 
int main()
{
    std::vector<std::string> words = { "weew", "bro", "code" };
    int minLength;
    std::cin >> minLength;
    std::vector<std::string> PalindromFilter(std::vector<std::string> words, int minLength);
    for (std::size_t a = 0, b = 2; a <= b; a++)
    {
        std::cout << PalindromFilter(words, minLength)[a];
    }
    return 0;
}
Запускаю его и выходит это:
https://pp.userapi.com/c850528... uartJg.jpg
Ну и код вроде работает верно:
https://sun9-23.userapi.com/c8... pbB3uA.jpg

Подскажите из-за чего?
p.s. а как изображения вставлять?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2019, 16:45
Ответы с готовыми решениями:

Struct / Vector / Expression: vector subscript out of range
Добрый вечер. Имеется структура: struct Contact { public: string name; vector&lt;string&gt;...

Expression:vector subscript out of range
Написал программа, скинул в текстовый файл неотформатированный текс, все работало, как только...

expression vector subscript out of range
Появляется ошибка при компиляции expression vector subscript out of range.Нужна помощь. Сортировка...

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

17
354 / 222 / 119
Регистрация: 25.06.2019
Сообщений: 823
30.07.2019, 16:54 2
Цитата Сообщение от MungenHara Посмотреть сообщение
if (stroka[a] == stroka[b - a])
{
return true;
}
}
return false;
ерунда, вроде уже обсуждалось, при первом же равенстве - палиндром?
1
3284 / 2668 / 721
Регистрация: 25.03.2012
Сообщений: 9,623
Записей в блоге: 1
30.07.2019, 17:03 3
жми повтор, потом посмотри в окно Call Stack, там все функции в порядке углубления в вызовы.
Щёлкни последнюю не библиотечную, а свою человеческую функцию из списка.
Наведи мышкой на все переменные какие могут вызывать ошибку и проверь их состояние.

Добавлено через 2 минуты
C++
1
2
3
4
5
6
    std::vector<std::string> ans=PalindromFilter(std::vector<std::string> words, int minLength);
    for (std::size_t a = 0; a<ans.size(); a++)
    {
        std::cout << ans[a];
    }
    return 0;
1
204 / 120 / 39
Регистрация: 03.05.2019
Сообщений: 274
30.07.2019, 17:20 4
Лучший ответ Сообщение было отмечено MungenHara как решение

Решение

Цитата Сообщение от MungenHara Посмотреть сообщение
Expression: vector subscript out of range
Выход за пределы вектора, может возникнут, когда обращаетесь через индекс к какому-то елементу, которого ещё нет, даже если вы хотите его определить, могут быть и другие причины.

Недавно вам писал вариант определения палиндромов, только переделать под множество строк:
Вот, пока моя реализация, сейчас гляну ваш код:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <Windows.h>
using namespace std;
 
vector<string> PalindromFilter(vector<string>& words, int minLength) // - более класический вариант void (vector<string>& words, vector<string>& result...
{
    vector<string> result;
    bool truth = true;
    for (unsigned int i = 0; i < words.size(); i++)
    {
        if (words[i].size() >= minLength)
        {
            truth = true;
            for (unsigned int c = 0; c < words[i].length() / 2; c++)
                if (words[i][c] != words[i][words[i].length() - c - 1])
                    truth = false;
            if (truth)
                result.push_back(words[i]);
        }
    }
 
    return result;
}
 
void Filling(vector<string>& words) // - заполнение вектора
{
    string line;
    cout << "Через пробел введите слова: ";
    getline(cin, line);
 
    istringstream flow(line);
    line.clear();
    while (flow >> line)
        words.push_back(line);
 
    /* Можно заполнять и другим способом:
    cout << "Слова (для завершение введите 0): ";
    while (line != "0")
        words.push_back(line);*/
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    vector<string> words;
    Filling(words);
 
    int minLength;
    cout << "Введите минимальную длинну слов: ";
    cin >> minLength;
    while (minLength < 3)
    {
        cout << "Слишком малая длинна.\nДлинна: ";
        cin >> minLength;
    }
 
    vector<string> result = PalindromFilter(words, minLength);
    cout << "Палиндромы:\n";
    for (unsigned int i = 0; i < result.size(); i++)
        cout << result[i] << '\n';
 
    return 0;
}
2
204 / 120 / 39
Регистрация: 03.05.2019
Сообщений: 274
30.07.2019, 17:24 5
Цитата Сообщение от MungenHara Посмотреть сообщение
p.s. а как изображения вставлять?
В окне сообщения справа есть скрепка, там и фото:
1
Миниатюры
Expression: vector subscript out of range  
4764 / 3242 / 1955
Регистрация: 18.12.2017
Сообщений: 10,353
30.07.2019, 20:16 6
MungenHara, Вам же объясняли в теме
Не могу понять почему код не работает
и кстати не только я, как определить является строка палиндромом или нет, а Вы опять пишите неправильно. Какой смысл что-то объяснять дальше ?

Вы наверное сам принцип как определяется является строка палиндромом или нет, не можете понять. берём первый и последний элемент. сравниваем их if(s[0]!=s[n-1])
возможны 2 случая:
1) они не равны (условие в if истина) функции возвращает результат: return false и завершает работу.
2) они равны (условие в if ложь) тогда следующая итерация цикла - берём второй и предпоследний элемент. сравниваем их if(s[1]!=s[n-2]).
возможны 2 случая:
1) они не равны (условие в if истина) функции возвращает результат: return false и завершает работу.
2) они равны (условие в if ложь) тогда следующая итерация цикла - берём третий и предпредпоследний элемент. сравниваем их if(s[2]!=s[n-3]).
и так далее: берём i-ый и зеркальный ему относительно середины массива элемент с индексом n-1-i. сравниваем их
if(s[i]!=s[n-1-i]).
если элементы, про которые речь шла выше, совпадают i меняется от 0 до середины массива, т.е от 0 до n/2-1. в этом случае возвращается true (строка является палиндромом).

надеюсь более чем ясно. описанное выше в виде функции будет так:
C++
1
2
3
4
5
6
7
bool IsPalindrom(std::string const&s)
{
    size_t n=s.size();
    for(size_t i = 0; i < n/2; i++)
    if(s[i]!=s[n-1-i]) return false;        
    return true;
}
1
2 / 2 / 0
Регистрация: 11.06.2019
Сообщений: 28
31.07.2019, 19:08  [ТС] 7
Цитата Сообщение от Pvt Посмотреть сообщение
ерунда, вроде уже обсуждалось, при первом же равенстве - палиндром?
Цитата Сообщение от Yetty Посмотреть сообщение
и кстати не только я, как определить является строка палиндромом или нет, а Вы опять пишите неправильно. Какой смысл что-то объяснять дальше ?
Да я попробовал наоборот специально сделать и посмотреть сработает ли. Показалось, что сработало. Но я выбрал не лучший пример для проверки.
Да, действительно. Итерация кончается на 1ой итерации. И я только сейчас понял как последовательность.
То есть я правильно понимаю, что в конце bool функции всегда должна стоять return true?
Я неверно полагал, что исполнится весь цикл, даже если посажу return true в if. Но теперь я понял своё заблуждение и к сожалению не первое.
До этого я считал, что результаты цикла остаются внутри цикла и изначальные значения не будут изменены. Но был не прав.
Большое спасибо!


Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
жми повтор, потом посмотри в окно Call Stack, там все функции в порядке углубления в вызовы.
Щёлкни последнюю не библиотечную, а свою человеческую функцию из списка.
Наведи мышкой на все переменные какие могут вызывать ошибку и проверь их состояние.
Нашёл. Буду разбираться. Благодарю!

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
2
3
4
5
6
    std::vector<std::string> ans=PalindromFilter(std::vector<std::string> words, int minLength);
    for (std::size_t a = 0; a<ans.size(); a++)
    {
        std::cout << ans[a];
    }
    return 0;
Ах ты ж ёлки. Я три раза инициировал повторно words, minLenght и PalindromFilter. Удивительно как код вообще запустился а отладчик не ругался.


Цитата Сообщение от amator_C Посмотреть сообщение
Выход за пределы вектора, может возникнут, когда обращаетесь через индекс к какому-то елементу, которого ещё нет, даже если вы хотите его определить, могут быть и другие причины.
Недавно вам писал вариант определения палиндромов, только переделать под множество строк:
Вот, пока моя реализация, сейчас гляну ваш код:
Цитата Сообщение от amator_C Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vector<string> PalindromFilter(vector<string>& words, int minLength) // - более класический вариант void (vector<string>& words, vector<string>& result...
{
* * vector<string> result;
* * bool truth = true;
* * for (unsigned int i = 0; i < words.size(); i++)
* * {
* * * * if (words[i].size() >= minLength)
* * * * {
* * * * * * truth = true;
* * * * * * for (unsigned int c = 0; c < words[i].length() / 2; c++)
* * * * * * * * if (words[i][c] != words[i][words[i].length() - c - 1])
* * * * * * * * * * truth = false;
* * * * * * if (truth)
* * * * * * * * result.push_back(words[i]);
* * * * }
* * }
return result;
}
Вот не могу понять. Смотрю и кажется, что ваш и мой код ничем принципиально не отличаются, но у вас выходит без ошибок, когда как у меня это проблема не решилась)

Цитата Сообщение от amator_C Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Filling(vector<string>& words) // - заполнение вектора
{
* * string line;
* * cout << "Через пробел введите слова: ";
* * getline(cin, line);
istringstream flow(line);
* * line.clear();
* * while (flow >> line)
* * * * words.push_back(line);
/* Можно заполнять и другим способом:
* * cout << "Слова (для завершение введите 0): ";
* * while (line != "0")
* * * * words.push_back(line);*/
}
Пока, к сожалению мне этот код не понятен. Другой способ пробовал и отладчик ругался. В итоге плюнул и решил остановиться на имеющихся заданиях.
И спасибо за предоставленный код!
0
204 / 120 / 39
Регистрация: 03.05.2019
Сообщений: 274
31.07.2019, 19:20 8
Цитата Сообщение от MungenHara Посмотреть сообщение
Другой способ пробовал и отладчик ругался
Другой способ не проверял особо, но должен работать. А первый основан на потоках string:
C++
1
2
3
4
5
6
7
string line; // - буфер для общего ввода всех слов
cout << "Через пробел введите слова: ";
getline(cin, line); // - получение ввода с пробелами до символа '\n' (для пользователя нажимание Enter) 
istringstream flow(line); // - формируем поток с line (как с файлом в случае fstream, например)
line.clear(); // - line очищен и уже будет использоваться как буфер для слов, данные с line уже в потоке flow
while (flow >> line) // - пока есть данные в потоке (оператор ">>" читает до пробелов (в том числе, '\t', '\n', ' ')
    words.push_back(line); // - каждое слово (или правильнее, лексема) добавляется в конец вектора
1
2 / 2 / 0
Регистрация: 11.06.2019
Сообщений: 28
31.07.2019, 19:22  [ТС] 9
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
2
3
4
5
6
std::vector<std::string> ans=PalindromFilter(std::vector<std::string> words, int minLength);
* * for (std::size_t a = 0; a<ans.size(); a++)
* * {
* * * * std::cout << ans[a];
* * }
* * return 0;
Я попробовал как вы сделать и всё равно выходила ошибка.
В итоге прогнал через for(auto string :PalindromFilter) и вышло без этой ошибки 1733. Но вот к сожалению так и не понял на что конкретно там ругались.
0
204 / 120 / 39
Регистрация: 03.05.2019
Сообщений: 274
31.07.2019, 19:25 10
Правильный второй способ:
C++
1
2
3
4
5
6
7
8
cout << "Введите слова (0 для завершения): ";
    getline(cin, line);           // - ввод
    while (line != "0")          // - сначала идёт проверка
    {
        words.push_back(line); // - потом добавление
        getline(cin, line);   // - и новый ввод
 
    }
1
2 / 2 / 0
Регистрация: 11.06.2019
Сообщений: 28
31.07.2019, 19:28  [ТС] 11
Цитата Сообщение от amator_C Посмотреть сообщение
Другой способ не проверял особо, но должен работать. А первый основан на потоках string:
Да это я где-то наверняка накосячил там.

Цитата Сообщение от amator_C Посмотреть сообщение
C++
1
2
3
4
5
6
7
string line; // - буфер для общего ввода всех слов
cout << "Через пробел введите слова: ";
getline(cin, line); // - получение ввода с пробелами до символа '\n' (для пользователя нажимание Enter) 
istringstream flow(line); // - формируем поток с line (как с файлом в случае fstream, например)
line.clear(); // - line очищен и уже будет использоваться как буфер для слов, данные с line уже в потоке flow
while (flow >> line) // - пока есть данные в потоке (оператор ">>" читает до пробелов (в том числе, '\t', '\n', ' ')
* * words.push_back(line); // - каждое слово (или правильнее, лексема) добавляется в конец вектора
Благодарю! Разберу ваш код и комментарии завтра поподробнее. А то я долго ломал голову как бы ввести строки, но в итоге выяснил что это совсем не обязательно и плюнул на это дело.

Добавлено через 1 минуту
Цитата Сообщение от amator_C Посмотреть сообщение
cout << "Введите слова (0 для завершения): ";
getline(cin, line);
while (line != "0")
{
* * words.push_back(line);
* * getline(cin, line);
}
Я во уже не вспомню, что я конкретно там нагородил. Но разве push_back не должен стоять после getline?
0
204 / 120 / 39
Регистрация: 03.05.2019
Сообщений: 274
31.07.2019, 19:36 12
Цитата Сообщение от MungenHara Посмотреть сообщение
И спасибо за предоставленный код!
Пожалуйста.

Цитата Сообщение от MungenHara Посмотреть сообщение
if (stroka[a] == stroka[b - a])
Цитата Сообщение от MungenHara Посмотреть сообщение
Смотрю и кажется, что ваш и мой код ничем принципиально не отличаются
Как уже вам ранее говорили, нельзя возвращать true и утверждать, что слово палиндром при первом совпадении, потому как далее могут быть уже не равные буквы.
Напротив, при первом же несовпадении нужно возвращать false, иначе в самом конце функции возвращаем true.

Добавлено через 3 минуты
Цитата Сообщение от MungenHara Посмотреть сообщение
Но разве push_back не должен стоять после getline?
Не принципиально, так как перед входом в цикл while уже есть getline, далее while проверяет не равен ли он "0" и добавляет в вектор.
Далее пользователь вводит ещё раз и while снова проверяет.
Так сделано, чтобы последный ввод (а он будет "0") не попал в вектор, потому как такой ввод не нужен и является только индикатором того, что пользователь завершил ввод слов.

Добавлено через 1 минуту
Цитата Сообщение от MungenHara Посмотреть сообщение
Да это я где-то наверняка накосячил там.
Я неправильно первый раз подал код. Второй раз уже будет работать.
1
2 / 2 / 0
Регистрация: 11.06.2019
Сообщений: 28
31.07.2019, 19:48  [ТС] 13
Цитата Сообщение от amator_C Посмотреть сообщение
Как уже вам ранее говорили, нельзя возвращать true и утверждать, что слово палиндром при первом совпадении, потому как далее могут быть уже не равные буквы.
Напротив, при первом же несовпадении нужно возвращать false, иначе в самом конце функции возвращаем true.
Прошу прощения, я имел ввиду мой исправленный код. Я уже понял свою ошибку. Я несколько не понимал как работает последовательность действий и оттого совершил такую ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
bool IsPalindrom(std::string stroka)
{
    for (std::size_t a = 0, b = stroka.length() - 1; a < b / 2; a++)
    {
        if (stroka[a] != stroka[b - a])
        {
            return false;
        }
    }
    return true;
}
Ну, грубо говоря я просто вернул всё на место как оно и было до этого. Поменял я местами false и true чтобы посмотреть что получится. Проверочное слово было weew и мне показалось что всё работает правильно. Конечно же, если бы я например проверял через например webw, то увидел бы что код работает совершенно не правильно.

Цитата Сообщение от amator_C Посмотреть сообщение
Не принципиально, так как перед входом в цикл while уже есть getline, далее while проверяет не равен ли он "0" и добавляет в вектор.
Далее пользователь вводит ещё раз и while снова проверяет.
Так сделано, чтобы последный ввод (а он будет "0") не попал в вектор, потому как такой ввод не нужен и является только индикатором того, что пользователь завершил ввод слов.
Спасибо, учту!

Цитата Сообщение от amator_C Посмотреть сообщение
Я неправильно первый раз подал код. Второй раз уже будет работать.
Да нет, я имел ввиду, что я сам примерно такой код вводил до этого и отладчик ругался. А потом я просто бросил это дело, так как мне сказали, что вводить слова в принципе в этом задании и не надо.
0
204 / 120 / 39
Регистрация: 03.05.2019
Сообщений: 274
31.07.2019, 19:57 14
Цитата Сообщение от MungenHara Посмотреть сообщение
проверял через например webw
Старайтесь проверить как можно более вариантов, какие только в голову не придут, это и будет тестирование.
Потом уже решаете, нужно, чтобы так работало или нет.

Добавлено через 3 минуты
Цитата Сообщение от MungenHara Посмотреть сообщение
stroka.length() - 1
Здесь как раз нужна просто длинна, так как проверяете вы через "<", а не "<=".
Да и не обязательно новую переменную b вводить, например:
C++
1
for (int a = 0; a < stroka.length() / 2; a++)
Например, у нас есть слово длинной 4, его символы будут иметь индексы 0, 1, 2, 3, получается выход с цикла будет как раз на 3 индексе, потому как он последний будет < stroka.length(), если брать stroka.length() - 1, выход будет уже на 2 индексе.
1
4764 / 3242 / 1955
Регистрация: 18.12.2017
Сообщений: 10,353
01.08.2019, 00:23 15
Цитата Сообщение от MungenHara Посмотреть сообщение
То есть я правильно понимаю, что в конце bool функции всегда должна стоять return true?
в общем случае (для других задач) это не так. но для этой задачи что нужно вывести, если не одна проверка в цикле не сработала и false не возвратилось ? - т.е. ВСЕ элементы оказались зеркально симметричными - правильно - сказать что это палиндром, поэтому после цикла и пишем return true;
Цитата Сообщение от MungenHara Посмотреть сообщение
результаты цикла остаются внутри цикла
не совсем понятно, о чём это Вы. функция завершает работу сразу после возврата значения (как только выполнился return).

Цитата Сообщение от MungenHara Посмотреть сообщение
так как мне сказали, что вводить слова в принципе в этом задании и не надо
вводить с клавиатуры не обязательно, потому что есть вектор с входными данными:
Цитата Сообщение от MungenHara Посмотреть сообщение
Входной вектор содержит не более 100 строк
но в тоже время никто не запрещает заполнить этот вектор с клавиатуры или ещё каким то способом - это уже на Ваше усмотрение.
1
2 / 2 / 0
Регистрация: 11.06.2019
Сообщений: 28
01.08.2019, 14:16  [ТС] 16
Цитата Сообщение от amator_C Посмотреть сообщение
Здесь как раз нужна просто длинна, так как проверяете вы через "<", а не "<=".
Да и не обязательно новую переменную b вводить, например:
Ох ты ж. Моё упущение. Даже и не заметил эту ошибку.

Ну а b я ввёл для собственного удобства.

Цитата Сообщение от Yetty Посмотреть сообщение
в общем случае (для других задач) это не так. но для этой задачи что нужно вывести, если не одна проверка в цикле не сработала и false не возвратилось ? - т.е. ВСЕ элементы оказались зеркально симметричными - правильно - сказать что это палиндром, поэтому после цикла и пишем return true;
Я понимаю о чём вы.

Цитата Сообщение от Yetty Посмотреть сообщение
не совсем понятно, о чём это Вы. функция завершает работу сразу после возврата значения (как только выполнился return).
Я тут недавно думал, что если например взять for:
C++
1
2
3
4
5
6
7
int a = 0;
for(int b = 5; a <= b; a++)
{
std::cout << a << " ";
}
std::cout << std::endl;
std::cout << a;
То даст такой результат:
0 1 2 3 4 5 // внутри цикла
0 // за пределами цикла, a принимает снова изначальное значение

Цитата Сообщение от Yetty Посмотреть сообщение
но в тоже время никто не запрещает заполнить этот вектор с клавиатуры или ещё каким то способом - это уже на Ваше усмотрение.
На тот момент у меня уже не было моральных сил, я просто снёс код и начал заново но уже с изначально заданным вектором. Всему своё время, так сказать подумал я. Надо было хотя бы заданное задание решить сперва.
0
4764 / 3242 / 1955
Регистрация: 18.12.2017
Сообщений: 10,353
02.08.2019, 11:43 17
Цитата Сообщение от MungenHara Посмотреть сообщение
Ну а b я ввёл для собственного удобства.
только минусы от этого - код становится менее читабельным. дополнительные переменные логично вводить там, где это оправдано, например вместо:
C++
1
u=sin(x)+sin(x)*sin(x);
так
C++
1
2
s=sin(x);
u=s+s*s;
Цитата Сообщение от MungenHara Посмотреть сообщение
Я тут недавно думал, что если например взять for:
0 // за пределами цикла, a принимает снова изначальное значение
что мешает проверить и убедиться что это не так ?
1
2 / 2 / 0
Регистрация: 11.06.2019
Сообщений: 28
04.08.2019, 10:00  [ТС] 18
Цитата Сообщение от Yetty Посмотреть сообщение
только минусы от этого - код становится менее читабельным. дополнительные переменные логично вводить там, где это оправдано, например вместо:
Спасибо, принял к сведению.

Цитата Сообщение от Yetty Посмотреть сообщение
что мешает проверить и убедиться что это не так ?
Ну, это была уверенность на грани непоколебимости. Позже же конечно мне встретился пример, где эта непоколебимость попала под сомнение.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2019, 10:00

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

Ошибка Expression: string subscript out of range
1)Вывести сообщение &quot;МОЖНО&quot;, если из букв введённой строки X можно составить введенную строку Y,...

Ошибка expression string subscript out of range
Ребят, уже всю голову разбил... не пойму где здесь может быть ошибка, что я не так сделал????...

Vector subscript out of range
Реализация карманной сортировки: #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; ...

Vector subscript out of range
int main() { srand( time(0) ); vector &lt;int&gt; m(10000); int i,n,c,max; while(i&lt;=10000) {...


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

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

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