E feladatot milyen algoritmussal lehet megoldani? (bővebben lent)
Lenne 3 változó, amelyek mindegyike 3 értéket vehet fel: 0,1,2.
"a", "b" illetve "c" változók lennének.
Olyat szeretnék, hogy minden változó vegye fel mindhárom értéket és ezt írja ki a program annyiszor, amíg mindhárom változó esetén megvalósult ez.
Például:
0 0 0
0 0 1
0 0 2
0 1 0
Stb...
Később majd a most növelt harmadik változó értékét is változtatni kell, hogy a variáció (vagy kombináció?) alapján ahány helyiértéket felvehet bármelyik változó, azok mind ábrázolva legyenek.
Hogy hívják ezt, amit szeretnék?
Se füle, se farka ennek a kérdésnek.
A programozás nehéz. Egy programnyelv szabályai szigorúak.
Ha a saját anyanyelved is ennyire gyatrán megy az csak azt jelzi, hogy nem vagy elég intelligens ahhoz, hogy ilyesmikkel foglalkozz, egyszerűen nem vagy rá alkalmas.
Nem szégyen ez, többen alkalmatlanok a programozásra, mint alkalmasak.
Például:
ciklus a=0-tól 2-ig:
    ciklus b=0-tól 2-ig:
        ciklus c=0-tól 2-ig:
            print(a,b,c)
Kábé. Vagy csinálhatod úgy, hogy a három változó helyett egy háromelemű tömböt használsz, mindig emeled az utolsó elem értékét, amíg túl nem lép a 2-n, ekkor lenullázod, és a kvöetkező helyiértéket növeled 1-el, ileltve lekezeled ott is az esetleges túlcsordulást, és így tovább. (upside, akárhány elemű tömbbel ugyanúgy működni fog)
Elnézést kérek, tévedtem, kigenerálja az összes változatot.
Tulajdonképpen azért nem osztottam meg, mert túl triviális hiszen ugyanaz mindhárom változatnál.
for ciklus megy 0-tól 2-ig mindhárom esetben, a 3 "for" ciklus belsejében pedig a kiiratás történik.
program variaciok;
var
a, b, c : byte;
begin
for a := 0 to 2 do
begin
for b := 0 to 2 do
begin
for c := 0 to 2 do
begin
WriteLn(a,' ',b,' ',c);
end;
end;
end;
ReadLn;
end.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!