Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Esercizio in Delphi

  1. #1

    Esercizio in Delphi

    Ragazzi devo fare un esercizio in cui creo una funzione che restituisce l'elenco delle quantità di alcuni prodotti di un certo genere in ordine, crescente, di prezzo... Io l'ho fatto così ma mi da errore nella compilazione...
    codice:
    function ordina(l:puntatore):puntatore;//ordina una lista secondo il prezzo     //funzione che data una lista ne restituisce un altra costituita dagli stessi articoli ordinati per prezzo 
    var pos,pos_1:puntatore; 
        bool:boolean; 
    
    procedure scambia(r,s:puntatore); 
    var z:puntatore; 
    begin 
    new(z); 
    z^.marca:=r^.marca; 
    z^.quantita:=r^.quantita; 
    z^.prezzo:=r^.prezzo; 
    r^.marca:=s^.marca; 
    r^.quantita:=s^.quantita; 
    r^.prezzo:=s^.prezzo; 
    s^.marca:=z^.marca; 
    s^.quantita:=z^.quantita; 
    s^.prezzo:=z^.prezzo; 
    dispose(z); 
    end; 
    
    begin 
    if (l=nil) then 
                 begin 
                   writeln('non ci sono elementi del genere inserito'); 
                   ordina:=NIL; 
                 end 
    else 
      begin 
        REPEAT 
          bool:=FALSE; 
          pos:=l; 
          pos_1:=l^.next; 
          while(pos_1<>NIL) do 
            begin 
              if(pos^.prezzo>pos_1^.prezzo) then 
                                             begin 
                                               scambia(pos,pos_1); 
                                               bool:=TRUE; 
                                             end; 
              pos:=pos_1; 
              pos_1:=pos_1^.next; 
            end; 
        UNTIL(bool=FALSE); 
        ordina:=l; 
      end; 
    end; 
    
    
    function elenco_prez:puntatore; 
    var aus,p:puntatore; 
    begin 
      aus:=nil;                    // questa è la lista ke restituirà la funzione 
        while (p <> nil) do          // entro nella lista generale 
         begin                             // se il genere è uguale 
           if p^.genere=gen then 
            ordina(p);   // faccio partire la funzione di 
           p:=p^.next;                               // inserimento ordinato 
         end; 
     elenco_prez:=aus; 
    end;
    E poi nel main

    codice:
    writeln ('Inserisci Genere del prodotto'); 
                  readln(gen); 
                  p:=elenco_prez; 
                  while p<> nil do 
                    begin 
                      write (p^.prezzo); 
                      write ('---> '); 
                      p:=p^.next; 
                    end;
    Ma non stampa nulla!! HELP!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao.... che errore?

  3. #3
    l'errore è che non stampa niente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.