kod w c ale chyba poradzisz sobie z przepisaniem na pascala
#include
#include
int main(){
int tab[20][20] ;
int i , j;
for (i = 0 ; i < 20 ;i++)
for (j = 0 ; j < 20 ;j++)
tab[i][j] = j;
int direction = 1;
for (i = 0 ; i < 20 ;i++){
if(direction){
for (j = 0 ; j < 20 ;j++){
printf("%2i ", tab[i][j]); // tu coś robisz
}
direction = 0 ;
}else{
for (j = 19 ; j > -1 ;j--){
printf("%2i ", tab[i][j]); // tu coś robisz
}
direction = 1 ;
}
printf("\n");
}
return 0;
}
W Delphi (Pascalu) będzie to wyglądało mniej więcej tak:
f := 1;
for i:=0 to 19 do
begin
for j:=0 to 19 do
begin
// pobranie elementu :)
if (f > 0)
then elem := tab[i, j]
else elem := tab[i, 19 - j];
// zrob cos z tym elementem :)
// .....
end;
f := -f;
end;
Flaga f (zwykły integer) decyduje, w którą stronę ma się poruszać kursor w tablicy i zmienia się za każdym obrotem pętli zewnętrznej i. W wykropkowane miejsce możesz wtedy wstawić dowolny kod i to tylko raz (bez zbędnej duplikacji), który “coś zrobi” z daną elem wyciągniętą z tablicy. W przypadku, gdy w zależności od kierunku trzeba wykonać inny kod, przykład kolegi MasterOfPumpets w języku C z powielonym kodem będzie właściwszy. Powodzenia