|
Turbo Pascal Twoje źródło wiedzy o Turbo Pascalu. |
|
|
|
|
|
|
Nie 22:19, 17 Wrz 2006 |
|
Autor |
Wiadomość |
Lord Nozaki
Początkujący
Dołączył: 01 Wrz 2006
Posty: 2
Przeczytał: 0 tematów
Ostrzeżeń: 0/3
|
Temat postu: Losowanie bez powtórzeń |
|
|
Mam pytanie:
Czy ktoś potrafiłby napisać program, który losuje liczby np od "1" do "n" i ustawia je w losowej kolejności?
Taki program miałby np zastosowanie w programie losującym ułożenie kart w talii...
Niestety nie mogę poradzić sobie z powtarzaniem już wylosowanych kart
Post został pochwalony 0 razy
|
|
|
|
|
|
|
|
|
Nie 10:03, 01 Paź 2006 |
|
Autor |
Wiadomość |
APE
Początkujący
Dołączył: 30 Wrz 2006
Posty: 3
Przeczytał: 0 tematów
Ostrzeżeń: 0/3
|
Temat postu: |
|
|
program tasuj;
uses crt;
var i,n,m:integer;
x:array [1..30] of integer;
begin
clrscr;
randomize;
for i:=1 to 30 do
begin
x[i]:=i; {w tej petli wkladamy do tablicy 30 kolejnych liczb}
end;
for i:=1 to 30 do {to oczywiscie nie jest potrzebne}
begin {wyswietlam kolejne liczby}
gotoxy(3,i);
writeln(x[i]);
end;
for i:=1 to 30 do {tasujemy liczby, ktore juz mamy}
begin {to znacznie latwiejsze, niz losowanie bez powtorzen}
n:=random(30)+1;
m:=x[n];
x[n]:=x[i];
x[i]:=m;
end;
for i:=1 to 30 do {to tez nie jest potrzebne}
begin {wyswietlam potasowana talie}
gotoxy(6,i);
writeln(x[i]);
end;
readkey;
end.
mam nadzieję, że o to ci chodziło. napisałem program dla trzydziestu elementów, ale będzie działał dla każdej liczby z przedziału integer (32 tys. z groszem :P) więc spokojnie możesz potasować karty - 52 elementy.
Post został pochwalony 0 razy
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|
|
|
|
|
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|