Skocz do zawartości
sampek

Tworzenie Tablicy 2d Z Liczb Losowych

Rekomendowane odpowiedzi

juz myslem ze sie uda i bedzie dobrze no ale nie przewidzialem czegos.

Zadanie : wypelnic tablice losowymi liczbami z zakresu ilosci wierszy (czyli

jak 5 wierszy to losuje od 1-5) ale tak aby sie nie powtarzaly ani w wierszach

ani w kolumnach.

 

Wymodzilem cos takiego ...

 

for (h=1 ; h<=poziom; h++){ // cyferki w poziomie czyli ilosc kolumn

 

for (i=1; i<=pion ; i++) { // cyferki w pionie czyli ilosc wierszy, z tych cyferek losujemy wartosci

start:

pozycja[h] = (rand()%pion)+1;

 

j=0;

l=0;

do {

j++;

l++;

// sprawdzam czy sie nie powtarza w kolumnie lub w wierszu wylosowana wartosc jak sie powtarza to losuje jeszce raz

if ( pozycja[h] == pozycja[i-j][h] || pozycja[h] == pozycja[h-l] )

goto start;

}

while ( j<=(i-1) || l<=(h-1) );

 

printf("pozycja[%d][%d]= %d\n", h,i, pozycja[h]);

}

}

 

tylko ze przy koncowych pozycjach tabelki jak juz w kolumnie wykorzystane sa

wszystkie wartosci z zakresu (czyli zostala nam juz tylko jedna mozliwa liczba

do wstawienia) a pech chcial ze w poprzedniej kolumnie juz taka byla uzyta to

sie wiesza bo nie jest dozwolone zeby w wierszu byly 2 takie same.

 

Myslicie da sie to moje rozumowanie jakos zmodyfikowac zeby bylo ok czy

zupelnieinaczej trudniej tzreba do tego podejsc?

Zaznaczam ze nie musi to byc superszybkie super optymalne itd, byle spelnilo zalozenia, bedzie to tylko raz wykorzystane do wysnaczenia takiej tableki z ktorej wartosci potrzebne sa mi do czeghos innego.. Jakies triki/chwyty troche zaburzajace losowosc rozniez dozwolone.

Z gory dzieki za wszelka pomoc.

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ę...