Kezdőoldal » Számítástechnika » Programozás » Pascalban segítene valaki?

Pascalban segítene valaki?

Figyelt kérdés

Még régebben csináltam ezt a programot(habár egy kis segítséggel), és azt szeretném-, kérdezni, hogy lehetne megcsinálni a legegyszerűbben, hogy a a tippelő ne írhassa többször ugyanazt a számot, és a gép se írja többször ugyanazt a számot, és ha a tippelő nem a feltételnek megfelelően írja be a számot(pl 90-ig lehet de ő 91-et ír be vagy 0-át amit uyge nem lehet, akkor ne megyen tovább a következő számra amit tippelni szeretnénk, hanem kérje újra azzal a "kifogással", hogy a szám túl nagy/kicsi .



program lotto;

var veletlen,c,i:integer;

tipp:array [1 .. 90] of integer;

begin

for i:= 1 to 5 do

begin

write(i, '. szam: ');

readln(tipp[i]);

if tipp[i] < 1 then writeln('Irj be nagyobbat!')

else if tipp[i] > 99 then writeln('Irj be kisebbet!')

else

end;

writeln('A nyero szamok:');

randomize;

for c:=1 to 5 do

begin

veletlen:=random(99)+1;

write(veletlen:5);

end;

end.


2014. aug. 6. 13:54
1 2 3 4
 11/35 anonim ***** válasza:
Én ezt nem a te programodra írtam. Másrészt nekem a kétdimenziós statikus tömb mindigis egy táblázat maradt, ez pedig nem az, két tömbbel is ugyanaz az eredmény. Mondok egy példát, meg akarod keresni, hol hivatkoztál az egyik tömbre akkor egy jobb ideben duplán rákattintasz és valamilyen más színnel megjeleníti a többit is. Itt pedig még az első indexet is meg kell nézni, gyorsolvasásra nem túl alkalmas például. De ez még mindig az én véleményem ne kapd fel rá a vizet.
2014. aug. 7. 15:38
Hasznos számodra ez a válasz?
 12/35 A kérdező kommentje:

,,l 90-ig lehet de ő 91-et ír be vagy 0-át amit uyge nem lehet, akkor ne megyen tovább a következő számra amit tippelni szeretnénk, hanem kérje újra azzal a "kifogással", hogy a szám túl nagy/kicsi . " -ezt már sikerült megoldanom egy repeat-until ciklussal


Az eddgi válaszokat köszönöm :)

2014. aug. 7. 16:38
 13/35 SimkoL ***** válasza:

tabaki kollegának tartoztam egy halmazos megoldással ezért:


program Lotto_halmaz;

type Halmaz = set of 1..90;

var Stipp, SHuzas : Halmaz;

i, Talalat : byte;

Szam : integer;

Hiba : Boolean;

begin

Randomize;

for i := 1 to 5 do

begin

repeat

Hiba := False;

Write(i, '. szam: ');

ReadLn(Szam);

if not(szam in [1..90]) then

begin

WriteLn('A szam nem megfelelo !');

Hiba := True;

end;

until (not (szam in Stipp)) and (not hiba);

Stipp := Stipp + [szam];

end;

i := 1;

while i < 6 do

begin

repeat

Szam := Random(90) + 1;

until not (Szam in Shuzas) ;

Shuzas := SHuzas + [szam];

Inc(i)

end;

Talalat := 0;

Write(#10#13 + 'Tippek: ');

for i := 1 to 90 do if i in Stipp then Write(i:3);

Write(#10#13 + 'Sorsolas: ');

for i := 1 to 90 do if i in Shuzas then Write(i:3);

Write(#10#13 + 'Eltalalt szamok: ');

for i := 1 to 90 do if (i in Shuzas) and (i in Stipp) then

begin

Write(i:3);

Inc(Talalat);

end;

Write(#10#13 + 'Talalatok szama: ', Talalat:3);

ReadLn;

end.

2014. aug. 7. 17:54
Hasznos számodra ez a válasz?
 14/35 SimkoL ***** válasza:
Itt [link] olvashatóbb :)
2014. aug. 7. 18:12
Hasznos számodra ez a válasz?
 15/35 SimkoL ***** válasza:
Természetesen még illene bele hibakezelés a számbevitelhez, de azt megtalálod az elsőként linkelt mintában, Tudod a Val eljárás :)
2014. aug. 7. 18:24
Hasznos számodra ez a válasz?
 16/35 SimkoL ***** válasza:
@11: Ezt elemezd ki !
2014. aug. 7. 18:40
Hasznos számodra ez a válasz?
 17/35 tabaki ***** válasza:
Köszi, majd otthon megnézem.
2014. aug. 7. 19:45
Hasznos számodra ez a válasz?
 18/35 anonim ***** válasza:
Igen, mit elemezzek ki?
2014. aug. 7. 21:14
Hasznos számodra ez a válasz?
 19/35 SimkoL ***** válasza:

Hát a két halmozon alapuló programomat :) Már az elsőnél sem értettem a DiretX és az osztályok hogy keverednek az utolsókig széttagolt programomhoz utána pedig tabaki kollega kétdimenziós tömbjének a lényegét sem értetted meg.

Direkt azért írtam halmazokkal, hogy erről is lássam a véleményed - ja és egy régi adósságom is törlesszem - és nincs is nagyon elterjedve - sajnos.

2014. aug. 7. 21:38
Hasznos számodra ez a válasz?
 20/35 anonim ***** válasza:
Szép, ugyanolyan a kódolási stílusunk, annyi különbség van, hogy én monjuk úgy deklarálok valamit, hogy valami:TValami; vagyis nem teszek még két space-t, egyszer át akartam szokni, de szebbnek találtam :D Sok Pascal kódba látom, az eredeti FPC-ben is, hogy abszolút nem érdeklte őket, minden kisbetűvel, értékadás mondjuk i:=3, mondjuk még az volt a jellemző, hogy BEGIN meg END, de aszt hiszem talán csak a főprograméra.
2014. aug. 7. 21:47
Hasznos számodra ez a válasz?
1 2 3 4

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!