С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.62
Pchel
1 / 1 / 0
Регистрация: 04.11.2012
Сообщений: 26
#1

expression vector subscript out of range - C++

04.11.2012, 17:55. Просмотров 4969. Ответов 1
Метки нет (Все метки)

Появляется ошибка при компиляции expression vector subscript out of range.Нужна помощь. Сортировка слиянием.Пользовался информацией с Википедии:
http://ru.wikibooks.org/wiki/%D0%9F%...B8%D0%B5%D0%BC
Добавлено через 15 минут
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
#include <iostream>
#include <vector>
using std::endl;
using std::cout;
using std::vector;
template<class T>
void MergeSort(vector<T>& v,size_t l,size_t r);
template<class T>
void merge(vector<T>& v,size_t l,size_t r,size_t q);
template<class T>
void swap_elem(vector<T>& v,size_t a,size_t b);
 
int main(void)
{
    vector<int> v(5,7);
    MergeSort(v,0,v.size()-1);
    for(vector<int>::iterator iter=v.begin();iter!=v.end();iter++)
        cout<<*iter<<' ';
    
}
template<class T>
void MergeSort(vector<T>& v,size_t l,size_t r)
{
    if(l>=r) return;
    size_t q=(l+r)/2;
    MergeSort(v,l,q);
    MergeSort(v,q+1,r);
    merge(v,l,r,q);//Слияние элементов
}
template<class T>
void swap_elem(vector<T>& v,size_t a,size_t b)
{
    T c;
    c=v[a];v[a]=v[b];v[b]=c;
}
 
template<class T>
void merge(vector<T>& arr,size_t l,size_t r,size_t q)//[l;q],[q+1;r] -отсортированные массивы
{                                                    //[l;r]- в результате отсортирован
    if(l>=r||q<l||q>r) 
        return;
    if((r==l+1)&&(arr[l]>arr[r])) 
    {
        swap_elem(arr,l,r);
        return;
    }
 
    vector<T> tmp(&arr[l],&arr[r+1]);
    
    for(size_t i(l),j(0),k(q-l+1);i<=r;i++)
    {
        if(j>q-l)
            arr[i]=tmp[k++];
        else
            if(k>r-l)
                arr[i]=tmp[j++];
            else
                arr[i]=(tmp[j]<tmp[k])? tmp[j++]:tmp[k++];
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 17:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос expression vector subscript out of range (C++):

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

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

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

Vector subscript out of range - C++
Помогите пожалуйста, выводит такую ошибку , не пойму почему #include&lt;iostream&gt; #include&lt;vector&gt; #include&lt;stdio.h&gt; #include...

Vector subscript out of range - C++
Доброе утро, прочитал статью про векторы и решил создать один из них, однако при выводе он выдаёт ошибку: &quot;Vector subscript out of range&quot;...

Vector subscript out of range - C++
int main() { srand( time(0) ); vector &lt;int&gt; m(10000); int i,n,c,max; while(i&lt;=10000) { m.push_back(rand()%4); i++; }...

1
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
04.11.2012, 21:32 #2
в 48 строке вроде выход за границы вектора
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2012, 21:32
Привет! Вот еще темы с ответами:

vector subscript out of range - C++
Доброго времени суток! Подскажите пожалуйста, где именно я ошибся, вроде не должен он за пределы выходить по коду: const...

Vector subscript out of range - C++
Привет, друзья, у меня следующая проблема: if (!MeteorVec.empty()) { for (int i = 0; i &lt; MeteorVec.size(); i++) { ...

Debug Assertion Failed! Expression: string subscript out of range - C++
Вот сегодня трудился целый день над игрой, и дошёл до момента когда начала появлятся выше перечисленая ошибка. Помогите найти ошибку. ...

Vector subscript out of range (push_back, a не []) - C++
При попытке сделать push_back() вектору вылетает ошибка vector subscript out of range. Именно при пуше, не при операторе . Ошибка в...


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

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

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