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?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
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)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
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 © 2025, 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!