emes125 Opublikowano 30 Maja 2005 Zgłoś Opublikowano 30 Maja 2005 Rzecz w tym, że nie działa program... Pierwotnie była to lista. Teraz dołożyłem do niej szablon i już się kicha... Pomożecie ? #include <iostream> using namespace std; static int i=0; //licznbik template <typename mojtyp> class A { public: A *wsk_p, *wsk_n; int liczba; mojtyp zmienna1; A() { liczba = i++;} void mod_zm1(){ cout<<"Podaj nowa wartosc dla zmiennej1"<<endl; int wart; //ale podejrzewam, ze tutaj moge dac inny typ... cin>> wart; wart = zmienna1; cout<<"Nowa wartosc zmiennej1 to: "<< zmienna1 << endl; } }; int a=0; A *poczatek = NULL; A *koniec = NULL; void wstaw_p(){ A *obiekt = new A; if (a) { obiekt->wsk_n = poczatek; obiekt->wsk_p = NULL; poczatek->wsk_p = obiekt; poczatek = obiekt; a++; } else { obiekt->wsk_p= NULL; obiekt->wsk_n= NULL; a++; poczatek = koniec = obiekt; }} void sortuj() { if(a) { A *wsk = poczatek; for(int z = 1; z < a; z++) { while(wsk->wsk_n) { if(wsk->liczba > wsk->wsk_n->liczba) { int schowek = wsk->liczba; wsk->liczba = wsk->wsk_n->liczba; wsk->wsk_n->liczba = schowek; wsk = wsk->wsk_n; } else { wsk = wsk->wsk_n; } } wsk = poczatek; } cout << "Lista posortowana!" << endl; } else { cout << "Pusta lista, nie ma co sortowac" << endl; } system("PAUSE"); } void wstaw_k(){ A *obiekt = new A; if (a) { obiekt->wsk_n = NULL; obiekt->wsk_p = koniec; koniec->wsk_n = obiekt; koniec = obiekt; a++; } else { obiekt->wsk_p= NULL; obiekt->wsk_n= NULL; a++; poczatek = koniec = obiekt; } } void wyswietl() { A *pomocniczy = poczatek; while(pomocniczy->wsk_n) { cout << "numer = " << pomocniczy->liczba << endl; pomocniczy= pomocniczy->wsk_n; } cout << "numer = " << pomocniczy->liczba << endl; } int menu() { int wybor; cout << "wybierz co chcesz zrobic: "<< endl; cout << "1 - wstaw na poczatek listy" << endl; cout << "2 - wstaw na koniec listy" << endl; cout << "3 - wyswietl liste" << endl; cout << "4 - sortuj liste" << endl; cout << "5 - modyfikuj zmienna1" << endl; cout << "0 - wyjscie z programu" << endl; cin >> wybor; switch(wybor) { case 1: wstaw_p(); return wybor; case 2: wstaw_k(); return wybor; case 3: wyswietl(); return wybor; case 4: sortuj(); return wybor; case 5: {void A::mod_zm1(); return wybor;} case 0: return wybor; }} int main() { while(menu()); } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...