Oppure

Loading
14/10/12 17:14
Ultimo
Postato originariamente da stichtom:

Uhm...

Non funziona, mi dice che al posto dei due punti ci dovrebbe essere la parentesi...





procedure estr;
var
k,i,aux,pos:integer;
begin
sup[1]:=tab[2,1];
for k:=2 to 6 do
begin
i:=righe_super[k];
pos:=1;
aux:=tab[i,1];
while (sup[pos]<>aux) and (pos<=k) do
pos:=pos+1;
sup[k]:=tab[i,1];
write(sup[k]:4);
end;


end;

prova adesso
If ok Then GOTO Avanza else GOTO Inizia

14/10/12 18:45
Ho provato un paio di volte:
- La maggior parte delle volte mi da exit code 201
- Alcune volte funziona ma non stampa i numeri che dovrebbe.

strano, ho controllato e mi sembra giusto..
14/10/12 21:44
Ultimo
Postato originariamente da stichtom:

Ho provato un paio di volte:
- La maggior parte delle volte mi da exit code 201
- Alcune volte funziona ma non stampa i numeri che dovrebbe.

strano, ho controllato e mi sembra giusto..


 procedure estr;
            var
            k,i,aux,x,pos:integer;
    begin
        sup[1]:=tab[2,1];
        x:=0
        for k:=2 to 6 do
          begin
                i:=righe_super[k];
                pos:=1;
                aux:=tab[i,1+x];
                while (sup[pos]<>aux) and (pos<=k) do
                begin
                 pos:=pos+1;
                end;
                if pos>k then
                 sup[k]:=tab[i,1+x];
                 write(sup[k]:4);
                 x:=0
                else
                x:=x+1;
                k:=K-1
               end;
         end;
    end; 


dovrebbe andare

If ok Then GOTO Avanza else GOTO Inizia

14/10/12 22:05
Postato originariamente da Ultimo:

Postato originariamente da stichtom:

Ho provato un paio di volte:
- La maggior parte delle volte mi da exit code 201
- Alcune volte funziona ma non stampa i numeri che dovrebbe.

strano, ho controllato e mi sembra giusto..


 procedure estr;
            var
            k,i,aux,x,pos:integer;
    begin
        sup[1]:=tab[2,1];
        x:=0
        for k:=2 to 6 do
          begin
                i:=righe_super[k];
                pos:=1;
                aux:=tab[i,1+x];
                while (sup[pos]<>aux) and (pos<=k) do
                begin
                 pos:=pos+1;
                end;
                if pos>k then
                 sup[k]:=tab[i,1+x];
                 write(sup[k]:4);
                 x:=0
                else
                x:=x+1;
                k:=K-1
               end;
         end;
    end; 


dovrebbe andare



Continua a non funzionare con vari errori...:(
Comunque perchè hai messo x+1 ? in teoria quel valore dovrebbe essere fermo a 1.
15/10/12 7:58
Ultimo
Mancavano dei fine istruzione



    procedure estr;
                var
                k,i,aux,x,pos:integer;
        begin
            sup[1]:=tab[2,1];
            x:=0;
            for k:=2 to 6 do
              begin
                    i:=righe_super[k];
                    pos:=1;
                    aux:=tab[i,1+x];
                    while (sup[pos]<>aux) and (pos<=k) do
                    begin
                     pos:=pos+1;
                    end;
                    if pos>k then
                     sup[k]:=tab[i,1+x];
                     write(sup[k]:4);
                     x:=0;
                    else
                    x:=x+1;
                    k:=k-1;
                   end;
             end;
        end;




la x serve nel caso venisse riscontrato un numero uguale, ti avanza di un posto nella riga e confronta
un altro numero ripetendo il ciclo con k-1 :yup:
Ultima modifica effettuata da Ultimo 15/10/12 14:24
If ok Then GOTO Avanza else GOTO Inizia

15/10/12 13:37
No niente da fare, continua a non funzionare.
Ma a te funzionano? :-?
15/10/12 13:40
No niente da fare, continua a non funzionare.
Ma a te funzionano? :-?
15/10/12 13:44
Ultimo

strano forse non è in quel punto il problema, posta tutto il codice per poterlo provare
If ok Then GOTO Avanza else GOTO Inizia