achtung303c Napisano Styczeń 5, 2013 Zgłoś Share Napisano Styczeń 5, 2013 Witam,mam do napisania taki programik: "c.5 Stos na klasach (wierzchołek ST typu PStos, PStos=^TStos;) Dane:Liczba rzeczywista Operacje: a)Wkładanie na stos,zdejmowanie ze stosu; b)dodawanie,odejmowanie, mnożenie i dzielenie liczb z wierzchołka stosu: np function dodaj(a,b: Double): double. W programie głównym wykonać ciąg operacji z godnie z zasadą odwrotenj notacji polskiej." I już od paru dni mam z nim problem do tej pory udało mi się wykonać podpunkt a, lecz ciagle mam problem z podpunktem b,byłbym wdzięczny za jakąkolwiek pomoc. Oto co do tej pory mi się udało napisać program project1; uses crt; var co:char; n:integer; type PStos = ^TStos; TStos = class Liczba: Byte; Nastepny: PStos; end; procedure Usun(var Pocz: PStos); var Pom: PStos; begin Pom := Pocz^.Nastepny; Dispose(Pocz); Pocz := Pom; end; procedure DodajS(var Pocz: PStos; Liczba: Byte); var Nowy: PStos; begin New(Nowy); Nowy^.Liczba := Liczba; Nowy^.Nastepny := Pocz; Pocz := Nowy; end; procedure Wypisz(Pocz: PStos); var i: integer; begin while Pocz <> nil do begin WriteLn(i,':' ,Pocz^.Liczba); Pocz := Pocz^.Nastepny; i:=i+1; end; end; var Pocz: PStos; Liczba: Byte; code: Integer; begin new(Pocz); repeat clrscr; writeln('d - dodaj do stosu'); writeln('u - usun element ze stosu '); writeln('w - wypisz stos'); writeln('q - koniec'); co:=readkey; case co of 'd': begin write('podaj wartosc: '); readln (n); DodajS(Pocz ,n); end; 'u': begin usun(Pocz); end; 'w': begin wypisz(Pocz); co:=readkey; end; end; until co='q'; end. Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Styczeń 8, 2013 Zgłoś Share Napisano Styczeń 8, 2013 Dawno delphi nie używałem ale: 1) Klasa juz jest wskaznikiem, tak więc New(Nowy); utworzy wskaznik do klasy (4bajty). reszta operacji zrobi tylko sieczke z pamieci. 2) Klasy tworz tak jak sie powinno tworzyc 3) procedure Usun(var Pocz: PStos); - var jest zbedne Podsumowanie: Nie masz pojęcia o uzywaniu klas, radze sięgnąć po podstawy. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
babubabu Napisano Styczeń 8, 2013 Zgłoś Share Napisano Styczeń 8, 2013 Dawno delphi nie używałem ale: 1) Klasa juz jest wskaznikiem, tak więc New(Nowy); utworzy wskaznik do klasy (4bajty). reszta operacji zrobi tylko sieczke z pamieci. 2) Klasy tworz tak jak sie powinno tworzyc 3) procedure Usun(var Pocz: PStos); - var jest zbedne Podsumowanie: Nie masz pojęcia o uzywaniu klas, radze sięgnąć po podstawy. To samo mu powiedzieli na innym forum, a na jeszcze innym dostał gotowca Moim zdaniem temat mozna zamknąć. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.