Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 24. 08. 2013 18:56

hauli
Příspěvky: 27
Škola: MFF UK
Pozice: student
Reputace:   
 

Pascal - procedura s dynamicky alokovanými proměnnými

Ahoj :) Potřebuju napsat proceduru, která načte ze souboru souřadnice polygonů..
na každém řádku souboru je výčet po sobě jdoucích bodů jednoho polygonu, potřebuju to dynamicky a pořád mi tam něco nefunguje :( Kdyby se na to někdo podíval, budu vděčná :)

type Tbod    = record
    x: real;
    y: real;
               end;   
type Tbody =^body;  {linearni spojovy seznam, obsahuje jednotlive body}
     body = record
     souradnice: Tbod;
     dalsi:Tbody;
            end;
type Tpolygony =^polygon; {linearni spojovy seznam, obsahuje polygony}
     polygon = record
       cislo: integer;
       info: Tbody;
       dalsi: Tpolygony;
               end;       
procedure nacti_data (var hlava:Tpolygony);
var punkt: Tbod;
    poradove_cislo: integer;
    posuvnik_v_polygonech: Tpolygony;
    posuvnik_v_bodech: Tbody;
begin
assign (data, 'data.txt');
reset (data);
new (hlava);
hlava^.dalsi:=nil;
new (posuvnik_v_polygonech);
posuvnik_v_polygonech^.dalsi:=nil;
hlava:=posuvnik_v_polygonech;
poradove_cislo:=1;

while not EOF (data) do
  begin
    posuvnik_v_polygonech^.cislo:=poradove_cislo;
    inc (poradove_cislo);
    {new (posuvnik_v_polygonech^.info);
    posuvnik_v_polygonech^.info^dalsi:=nil;}
    posuvnik_v_bodech:=posuvnik_v_polygonech^.info;
    while not EOLN (data) do
      begin
        read (data, punkt.x);
        read (data, punkt.y);
        posuvnik_v_bodech^.souradnice.x:=punkt.x;
        posuvnik_v_bodech^.souradnice.y:=punkt.y;
        new (posuvnik_v_bodech^.dalsi);
        posuvnik_v_bodech^.dalsi^.dalsi:=nil;
        posuvnik_v_bodech:=posuvnik_v_bodech^.dalsi;
      end;
     new (posuvnik_v_polygonech^.dalsi);
     posuvnik_v_polygonech^.dalsi^.dalsi:=nil;
     posuvnik_v_polygonech:=posuvnik_v_polygonech^.dalsi;
  end;
close (data);
end;

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson