Ĺadny brzuch
ja zrobić program z tabliczką mnożenia tak aby liczby się nie powtarzały?
np jak losujemy 2*3 to zeby potem nie było ani 3*2 ani znowu 2*3?prosze pomóżcie..bo utknąłem..może to jakoś w tablicy zapisywać?
uses crt; var liczba1, liczba2, wynik, doile: longint; begin clrscr; write('Tabliczka mnożenia do liczby: '); readln(doile); repeat liczba1:=liczba1+1; repeat liczba2:=liczba2+1; wynik:=liczba1*liczba2; if (liczba1>=liczba2) then writeln(liczba1,'*',liczba2,'=',wynik); until (liczba1=liczba2); until (liczba1=doile); end.
A to narysuje Ci ładną tabliczke mnożenia w komponęcie TMemo: ^_^
procedure TForm1.Rysuj; var I, J : Integer; Txt : String; begin for I := 1 to 10 do begin for J := 1 to 10 do if (I * J < 100) and (I * J >= 10) then Txt := Txt + ' ' + IntToStr(I * J) + ' |' else if I * J < 10 then Txt := Txt + ' ' + IntToStr(I * J) + ' |' else if I * j = 100 then Txt := Txt + IntToStr(I * J) + '|' else Txt := Txt + IntToStr(I * J) + ' |'; Memo1.Lines.Add(Txt); Txt := ''; end; end;
ale jak napisać żeby one się losowaly jako dzialania i potem nie powtarzały?z funkcją randomize i tablicami?
No to zostają tablice i random. To chyba sobie poradzisz.
A to możesz zrobić tak:
x = Random(100);
potem zapisujesz do tablicy dajesz pętelke
for I := Low(Tablica) to High(Tablic) do
Sprawdzasz czy x jest już w tablicy jak tak do losujesz inną liczbe.
to nie chodzi o to zeby to sie narysowalo:)chociaz fajna sprawa:)ale o to żeby można było odpowiadać na pytania z tabliczki np 2*3=?i tak z kilka razy i rzeby te działania się nie powtarzały..użyłem funkcji randomize wylosowałem liczby z tablic ale nie moge zrobić żeby działania się nie powtarzały:(
Czadowo..dzieki:)mam nadzieje że dam rade:)
Juz dawono nie bawilem sie w programowanie ale moze takie cos
Wylosowane: array[1..9] of array[1..9] of byte; repeat X:=Random(9)+1; Y:=Random(9)+1; Until (Wylosowane[X,Y]=0) and (Wylosowane[Y,X]=0); Wylosowane[X,Y]:=1; Wylosowane[Y,X]:=1;
Ta procedura podaje losowe liczby x i y w postaci mnożenia "*" i zapisuje liczby do tablicy, jeśli liczby znajdują się w tablicy procedura zostaje przerwana:
Link bo kod jest troche długi: Kod procedury
Użytkownik Kikiz edytował ten post 11 marzec 2005, 13:00
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
np jak losujemy 2*3 to zeby potem nie było ani 3*2 ani znowu 2*3?prosze pomóżcie..bo utknąłem..może to jakoś w tablicy zapisywać?
uses crt; var liczba1, liczba2, wynik, doile: longint; begin clrscr; write('Tabliczka mnożenia do liczby: '); readln(doile); repeat liczba1:=liczba1+1; repeat liczba2:=liczba2+1; wynik:=liczba1*liczba2; if (liczba1>=liczba2) then writeln(liczba1,'*',liczba2,'=',wynik); until (liczba1=liczba2); until (liczba1=doile); end.
A to narysuje Ci ładną tabliczke mnożenia w komponęcie TMemo: ^_^
procedure TForm1.Rysuj; var I, J : Integer; Txt : String; begin for I := 1 to 10 do begin for J := 1 to 10 do if (I * J < 100) and (I * J >= 10) then Txt := Txt + ' ' + IntToStr(I * J) + ' |' else if I * J < 10 then Txt := Txt + ' ' + IntToStr(I * J) + ' |' else if I * j = 100 then Txt := Txt + IntToStr(I * J) + '|' else Txt := Txt + IntToStr(I * J) + ' |'; Memo1.Lines.Add(Txt); Txt := ''; end; end;
ale jak napisać żeby one się losowaly jako dzialania i potem nie powtarzały?z funkcją randomize i tablicami?
No to zostają tablice i random. To chyba sobie poradzisz.
A to możesz zrobić tak:
x = Random(100);
potem zapisujesz do tablicy dajesz pętelke
for I := Low(Tablica) to High(Tablic) do
Sprawdzasz czy x jest już w tablicy jak tak do losujesz inną liczbe.
to nie chodzi o to zeby to sie narysowalo:)chociaz fajna sprawa:)ale o to żeby można było odpowiadać na pytania z tabliczki np 2*3=?i tak z kilka razy i rzeby te działania się nie powtarzały..użyłem funkcji randomize wylosowałem liczby z tablic ale nie moge zrobić żeby działania się nie powtarzały:(
Czadowo..dzieki:)mam nadzieje że dam rade:)
Juz dawono nie bawilem sie w programowanie ale moze takie cos
Wylosowane: array[1..9] of array[1..9] of byte; repeat X:=Random(9)+1; Y:=Random(9)+1; Until (Wylosowane[X,Y]=0) and (Wylosowane[Y,X]=0); Wylosowane[X,Y]:=1; Wylosowane[Y,X]:=1;
Ta procedura podaje losowe liczby x i y w postaci mnożenia "*" i zapisuje liczby do tablicy, jeśli liczby znajdują się w tablicy procedura zostaje przerwana:
Link bo kod jest troche długi: Kod procedury
Użytkownik Kikiz edytował ten post 11 marzec 2005, 13:00