Klasa dynamicznej tablicy(kontener) deque C++

Klasa dynamicznej tablicy(kontener) deque C++
M9
  • Rejestracja:prawie 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:3
0

Witam,
mam problem z klasa dynamicznej tablicy (deque)
Mianowicie napisałem program :

Kopiuj
#include <iostream>			
#include <cstdio>	
#include <cmath>
#include <vector>	
#include <deque>
#include <algorithm>
using namespace std;       		

int main()				
{
vector <int> tablica_1(10);
vector <int> tablica_2(10,10);
deque <int> tablica_3;
tablica_1.push_back (1);
tablica_1.push_back (2);
tablica_1.push_back (3);
cout<<"11 element tablicy vector ma wartosc : "<<tablica_1[12]<<endl;
tablica_1[0]=123;
cout<<"1 element tablicy vector ma wartosc : "<<tablica_1[0]<<endl;
tablica_1.at(1)=12345;
cout<<"2 element tablicy vector ma wartosc : "<<tablica_1.at(1)<<endl;

cout<<"Tablica_1 ta zawiera : "<<tablica_1.size()<<" elementow"<<endl;
cout<<"Tablica_2 ta zawiera : "<<tablica_2.size()<<" elementow"<<endl;
tablica_2.pop_back();
cout<<"Tablica_2 po redukcji zawiera : "<<tablica_2.size()<<" elementow"<<endl;
tablica_3.push_back(8);
tablica_3.push_front(1);
cout<<"1 element tablicy 3 ma wartosc : " <<tablica_3[0]<<endl;
tablica_3.push_front(3);
cout<<"Wartoscia nr1 tablicy 3 po dodaniu jest : " << tablica_3[0]<<endl;
tablica_3.pop_front();
cout<<"Wartoscia nr1 tablicy 3 po usunieciu jest : " << tablica_3[0]<<endl;


  cin.ignore();			
  getchar();				
  return 0;   
}

Kompiluje się prawidłowo, ale po uruchomieniu następuje załamanie programu, a następnie pojawia się komunikat deque::out of range
Próbowałem zapisu w nowym pliku i panownej kompilacji

Czy mógłby ktoś podpowiedzieć gdzie tkwi błąd?

edytowany 2x, ostatnio: Shalom
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
2
Kopiuj
11 element tablicy vector ma wartosc : 3
1 element tablicy vector ma wartosc : 123
2 element tablicy vector ma wartosc : 12345
Tablica_1 ta zawiera : 13 elementow
Tablica_2 ta zawiera : 10 elementow
Tablica_2 po redukcji zawiera : 9 elementow
1 element tablicy 3 ma wartosc : 1
Wartoscia nr1 tablicy 3 po dodaniu jest : 3
Wartoscia nr1 tablicy 3 po usunieciu jest : 1

Sprawdzone pod Visualem 2013 Preview i MinGW GCC 4.7.2.
Żaden błąd nie wyskakuje.

edytowany 1x, ostatnio: Azarien
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

http://ideone.com/1kl2cd
U mnie pod gcc też pomyka jak rącza gazela. Zgaduje że to w ogóle nie ten kod, bo ja tu nie widze deque...


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Patryk27
bo ja tu nie widze deque 13 linijka.
Shalom
aj, oślepłem :D
Patryk27
Ctrl+F deque :P
M9
  • Rejestracja:prawie 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:3
0

Dzięki Azarien
Jest jak mówisz:)

Orientuje się ktoś czemu w Dev C++ nie działa?
Jest to wina tylko i wyłącznie kompilatora?

edytowany 1x, ostatnio: mglowinski93
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
2

Działa również pod starszym GCC 4.6.2 (z MinGW), tak btw.


Orientuje się ktoś czemu w Dev C++ nie działa?

Bo to poronione środowisko pełne bugów (jeżeli mowa o serii 4.9.x.x), a ponadto jest dostarczane wraz z naprawdę starym kompilatorem?

Jest to wina tylko i wyłącznie kompilatora?

Skompiluj z konsoli i się przekonaj...


edytowany 1x, ostatnio: Patryk27
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

Może ktoś potwierdzić ze ten kod nie bandla na devie? Byłby to dobry przykład dla wszystkich którzy jeszcze z niego korzystają ;]


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
0

Ściągnij Orwell Dev-C++ jeśli nie chcesz przechodzić na inne środowisko.

Tylko weź pod uwagę, że standardowy download domyślnie kompiluje w 64 bitach (i wcale nie jest go tak łatwo zmusić do kompilacji 32-bit, wbrew temu co piszą).
Jeśli ci zależy na 32 bitach, ściągnij wersję z MinGW a nie TDM.

http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/

edytowany 2x, ostatnio: Azarien

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.