Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet a konzolra...

Hogyan lehet a konzolra kiíratni az alábbi mintát?

Figyelt kérdés

//\\//\\//\\

\//\\//\\//\

\\//\\//\\//

/\\//\\//\\/

\\//\\//\\//


Ezt.

Akármekkora méret esetén működjön és akár 3 vagy 4 pálcikával is, tehát nem feltétlen csak 2 pálcikánként tudjon váltani.


2019. jún. 16. 16:42
1 2
 1/15 anonim ***** válasza:
Na de mégis milyen nyelven?
2019. jún. 16. 17:04
Hasznos számodra ez a válasz?
 2/15 A kérdező kommentje:

Komolyan kérdezem, már csak tanulás miatt is: mi a különbség?

Akár nagyjából pszeudokód formájában is érdekelne.

Ennél jóval könnyebb mintákat találtam a neten, azokat már megoldottam, ez ráadásul nekem jutott eszembe és 1 óra alatt nem jutottam túl sokra, illetve pár exception-t kaptam... :D

2019. jún. 16. 17:15
 3/15 anonim ***** válasza:
100%

Attól függ, mit és hogyan akarsz paraméterezni. Sorok száma? Sorok hossza?


Itt egy példa CPP-ben


N: sorok száma

M: oszlopok száma

K: pálcikák száma



void writePattern(int N, int M, int K)

{

    int start_idx = 0;

    for(int i=0; i<N; i++)

    {

        int inner_idx = start_idx;

        for(int j=0; j<M; j++)

        {

            std::cout << (inner_idx < K ? "/" : "\\");

            inner_idx = (inner_idx + 1) % (2*K);

        }

        std::cout<<std::endl;

        if(start_idx == 0)

            start_idx = 2*K;       

       

        start_idx--;

       

    }

}

2019. jún. 16. 17:20
Hasznos számodra ez a válasz?
 4/15 A kérdező kommentje:

Pontosabban tömböt (egyét gyűjteményt) feltölteni és azt kiíratni. Ezt lehagytam. :(

Az a része menne, hogy kiíratni, feltölteni nem tudom.

2019. jún. 16. 17:26
 5/15 anonim ***** válasza:
Ha megnézed, a kódrészlet amit küldtem generálja a mintát, és úgy írja ki. Fölösleges egy tömböt külön feltölteni, de ha mindenképp fel akarod, akkor ugyanez az algoritmus alkalmas arra is, csak a kiíratás helyett a tömb megfelelő elemének adod át az értéket.
2019. jún. 16. 17:35
Hasznos számodra ez a válasz?
 6/15 A kérdező kommentje:

Miért felesleges?

Honnan tudod, hogy utána ki kell menteni egy fájlba vagy kiírni a konzolra?

Úgy életszerűbb, ha egy gyűjtemény megkapja ezt az értéket, aztán azzal azt csinál a program a továbbiakban, amit csak akar.

2019. jún. 16. 17:39
 7/15 anonim ***** válasza:

Hacsak nem akarod a mintát a futás során felhasználni valamilyen egyéb feladathoz, fölösleges.

Konzolra, fájlba kiírni lehet folyamatosan, ahogy generálod a mintát, és így nem pazarolsz memóriát egy tömb fenntartására.

2019. jún. 16. 17:43
Hasznos számodra ez a válasz?
 8/15 A kérdező kommentje:

Mi így tanuljuk, jellemzően így csináljuk.


Ha később derül ki, hogy a konzol helyett vagy mellett fájlba kell írni, akkor nehezebb módosítani a kódot, nem?

2019. jún. 16. 17:48
 9/15 A kérdező kommentje:

Ez nekem az életben nem jutna eszembe:


std::cout << (inner_idx < K ? "/" : "\\");

inner_idx = (inner_idx + 1) % (2*K);


Ilyenkor érzem azt, hogy nekem sohasem fog menni. :(

2019. jún. 16. 18:07
 10/15 anonim ***** válasza:

"Ha később derül ki, hogy a konzol helyett vagy mellett fájlba kell írni, akkor nehezebb módosítani a kódot, nem?"


A streamet át tudod irányítani. Akár egy bufferbe is.

2019. jún. 16. 18:49
Hasznos számodra ez a válasz?
1 2

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!