Skocz do zawartości
Ion69

[pascal] Problem Z Wypelnieniem Tablicy

Rekomendowane odpowiedzi

Witam. Mam mały problem z wypełnieniem tablicy ( dowolny rozmiar ). Tablica powinna wygladac mniej wiecej tak:

1  3  6  102  5  9  134  8  12 157  11 14 16
Chodzi o to, zeby cyfry byly rosnaco po skosie. Jezeli ktos ma jakis pomysl, jak ma wygladac do tego algorytm to z gory dziekuje.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

DIM tabl(3, 3) AS INTEGERDIM diagonalflag AS INTEGERDIM startrow AS INTEGERDIM startcol AS INTEGERDIM counter AS INTEGERDIM colinc as INTEGERDIM i AS INTEGERDIM j AS INTEGERCONST n = 3startrow = 0startcol = 0counter = 1diagonalflag = 0FOR i = 1 TO 2 * (n + 1) - 1 IF startrow = n THEN diagonalflag = 1 colinc = 0 FOR j = startrow TO startcol STEP -1 tabl(j, startcol + colinc) = counter counter = counter + 1 colinc = colinc + 1 NEXT j IF startrow < n THEN startrow = startrow + 1 ELSE IF diagonalflag = 1 THEN startcol = startcol + 1NEXT i

 

Jakoś tak to będzie wyglądało. To jest przykład dla tablicy 4x4 ale wystarczy zmienić wartość stalej n oraz rozmiar tablicy i algorytm będzie nadal działał poprawnie.

 

 

P.S. Sorki, że w Basicu ale nic innego nie mam pod ręką.

Edytowane przez Dj_AnT

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...