Kezdőoldal » Számítástechnika » Programozás » Hogy tudom ezt FreePascal-ban...

Hogy tudom ezt FreePascal-ban megcsinálni? (több lent)

Figyelt kérdés

Van 10 kérdés mind a 10 kérdéshez tartozzon 3 válasz.

Esetünkben legyen a 3 válasz "1" "2" és "3".

Hogy leget megoldani hogy a 10 kérdésnél amelyik számot a legtöbbször választod azt kiirja végén?


Én arra gondoltam hogy úgy meglehet csinálni hogy:

if a=1 then begin

if b=1 then

if c=1 then

if d=1 then...

és így tovább csak így minden kombinációt fel kell sorolni és az úgy nagyon sok.


A választ előre is köszönöm.



2015. jún. 21. 19:23
 1/5 anonim ***** válasza:

Hát tanulni kéne még. :) Ciklusokról és tömbökről. Meg algoritmusokról.


Pl. eltárolhatod egy 10 elemű tömbben a válaszokat, és azon futtatsz egy maximum kiválasztást.

2015. jún. 21. 19:25
Hasznos számodra ez a válasz?
 2/5 coopper ***** válasza:
100%

Szia.


Igen, tényleg tanulni kéne, még neked is kedves #1-es válaszoló, ugyanis itt a maximum kiválasztásnak, szerintem nem sok szerepe van (a többit amit írtál az teljesen korrekt), mert mit tudsz meg egy maximum kiválasztásnál, azt hogy mely az a kérdés amelyikre először válaszoltak a 3-as számmal. (Ez nem játszik a feladatban - szerintem)


Tehát az #1-es válaszoló által leírt, több és ciklus az tényleg játszik. A válaszokat letárolod egy 10 elemű tömbben. Lenullázol 3 változót (Ez is lehet egy 3 elemű tömb - ebben lesznek az 1,2,3 válaszok darab számai.) Indítasz egy ciklust 1-től 10-ig, és ha az adott válasz száma 1 akkor az első változó értékét növeled eggyel (vagy első tömbelemet növeled), ha 2 akkor a második változó (második tömbelem növelése), ha 3-as akkor a harmadik változó (harmadik tömbelem növelése), azért jobb a tömbös megoldás, mert akkor nem kell feltétel ahhoz, hogy eldöntsd milyen válasz lett adva a kérdésre (feltételezve, hogy amikor bekéred a válaszokat leellenőrzöd, hogy a válasz nem lehet csak az 1,2 vagy a 3-as szám).


Na a duma után nézzünk egy kis programozást is :


Vala : array [1..10] of byte ; { ebben vannak a válaszok }

stat : array [1..3] of byte ; { ebben lesz a darabszám }


{ Kérdések kiirása, válaszok bekérése itt. EZ gondolom valamilyen szinten már meg van irva. }

.

.

.

{ Statisztika nullázása}

Stat[1]:=0;

Stat[2]:=0;

Stat[3]:=0;


{ Először az feltételes módszer : }


For i:=1 to 10 do begin

_ _if Vala[I]=1 then Stat[1]:=Stat[1]+1;

_ _if Vala[I]=2 then Stat[2]:=Stat[3]+1;

_ _if Vala[I]=3 then Stat[3]:=Stat[3]+1;

end ;


{ Most pedig a tömb kihasználása : }


For i:=1 to 10 do begin

_ _Stat[Vala[I]]:=Stat[Vala[I]]+1;

end ;


Bármelyiket is használod fel (a feltételest vagy a tömböst) a Stat[1] változó fogja tartalmazni a válaszokra adott 1-sek darabszámát. A Stat[2] változó a 2-es válaszok darabszámát, mig a Stat[3] változó, a 3-as válaszok darabszámát tartalmazza.


Sok sikert.

üdv.

2015. jún. 21. 19:50
Hasznos számodra ez a válasz?
 3/5 coopper ***** válasza:
100%

Most, hogy mégegyszer átolvastam a feladatod, elnézést kérek az #1-es válaszolótól, mert a végére tényleg kellhet a maximum kiválasztás (arra, hogy 3 számból eldöntsd melyik a legnagyobb), de ezt ezért if -el is meg lehet oldani.


Üdv.

2015. jún. 21. 19:53
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

#1 vagyok


> mit tudsz meg egy maximum kiválasztásnál, azt hogy mely az a kérdés amelyikre először válaszoltak a 3-as számmal


Való igaz, (nem tanulatlanságból, hanem kapkodásból) kihagytam egy közbülső lépést, a válaszlehetőségek előfordulásainak megszámolását. Vagyis ezt:

> egy 3 elemű tömb - ebben lesznek az 1,2,3 válaszok darab számai


> 3 számból eldöntsd melyik a legnagyobb), de ezt ezért if -el is meg lehet oldani


3 számra valóban meg lehet oldani if-el, de ha később több válaszlehetőséget szeretne, akkor jobb a max.kiv.

2015. jún. 21. 21:52
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszi mindenkinek ment a zöld
2015. jún. 22. 11:36

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!