Na początek może tylko zapytam czy znajdę tu osoby które pomogą mi napisać program najlepiej w Delphi?
mam na myśli program który z losowo wprowadzanych liczb (tak jak padają w ruletce) sprawdzał która to jest liczba pod rząd z danego przedziału i przy np. 6 wyświetlał komunikat.
padły np. liczby:
2,8,5,15,3,9 --- padło 6 liczb z przedziału 1-18 w tej sytuacji program wyświetla komunikat np. obstaw 1 na 19-36 jeżeli znowu padnie liczba z przedziału 1-18 program wyświetla postaw 2 na 1-36 itd. do powiedzmy 12 kroku
co jest złe w tym zapisie?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
pelny = 0..36;
zbiorliczb =set of pelny ;
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
niskie, wysokie, parzyste : zbiorliczb;
Form1: TForm1;
niskie:=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
wysokie :=[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36];
parzyste :=[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36];
implementation
{$R *.dfm}
end.
Nie ma żadnych błędów, ale jeżeli decydujesz się tworzyć aplikację okienkową VCL z klasami TForm, a nie na
przykład konsolową. To powinineś poczytac kompendium. Swój kod musisz umieścić w jakiejś procedurze lub
zdarzeniu. Jeżeli podczas tworzenia formatki to wtedy w zdarzeniu OnCreate. Czyli tak jak poniżej - jest ok:
{...}
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
end;
type
pelny = 0..36;
zbiorliczb = set of pelny ;
var
Form1: TForm1;
niskie, wysokie, parzyste : zbiorliczb;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
niskie:=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
wysokie :=[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36];
parzyste :=[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36];
end;
olesio napisał(a)
komendium.
:)
Dzięki!
Cały dzień się pociłem aby zdefiniować zbiory. bo tak naprawdę jestem w tym zielony. A teraz główkuje co dalej, wdzięczny będę za waszą pomoc. Nie musi to być gotowy kod ale chociaż wskazówka w którym kierunku iść.
liczby będę wprowadzał za pomocą button ale pÓÓÓÓki co to pewnie muszę napisać algorytm?
Lankusiek zjadło mi się P już poprawiłęm - ale jak widzę "pÓÓÓÓki" to mi się odechciewa udzielania dalej pomocy ;/
Nie wiem jak ten program ma działać, ale jak chcesz sprawdzać liczby losowe to zrÓb jak poniżej. No i według
mnie - nie ma sensu deklarować zbioru parzyste, bo można to łatwo sprawdzić warunkiem takim jak tutaj lub
przy użyciu funkcji Odd(Liczba), ktÓra zwrÓci False jeżeli liczba jest parzysta. Jeżeli liczby mają być lsoowane
to możesz zrobić tak jak poniżej. Więcej masz na http://4programmers.net/Delphi/Random - a jak chcesz te
liczby wprowadzać to możesz dodawać na przykład do ListBox przy użyciu przycisku wprowadzić zawartość
z pola edycyjnego. W ogÓle czytaj komPendium żebyś znał podstawy potrzebne do stworzenia czegokolwiek.
type
Pelny = 0..36;
ZbiorLiczb = set of Pelny;
var
Form1 : TForm1;
Niskie, Wysokie : ZbiorLiczb;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
Niskie := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];
Wysokie := [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36];
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Liczba : Byte;
Komunikat : string;
begin
Liczba := Random(37);
if Liczba in Niskie then
begin
Komunikat := ' należy do zbioru niskie';
end;
if Liczba in Wysokie then
begin
Komunikat := ' należy do zbioru wysokie';
end;
if Liczba mod 2 = 0 then
begin
Komunikat := Komunikat + ' oraz jest parzysta';
end;
ShowMessage('Liczba: ' + IntToStr(Liczba) + Komunikat);
end;
Post sponsorowała litera Ó oraz strona http://so.pwn.pl z ktÓrej polecam Tobie Marcin82 zawsze korzystać.