Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Iscrtavanje trokuta pomocu for petlje?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Iscrtavanje trokuta pomocu for petlje?

[ Pregleda: 2959 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

borlland

Član broj: 156303
Poruke: 80
*.dynamic.telemach.ba.



+1 Profil

icon Iscrtavanje trokuta pomocu for petlje?10.01.2013. u 16:37 - pre 137 meseci
Pozdrav ljudi,

Ne postoji greška sa ovim kodom, nego je problem u tome što baš najbolje ne razumijem šta se dešava u kojoj for petlji. Skoro cijeli dan pokušavam da odgonetnem, mijenjam parametre pa i na taj način pokušavam da probijem u srž al' jok. Zato bih zamolio nekog da mi prokomentariše svaku od for petlji i da mi pokuša približit (objasnit) šta se izvršava u svakoj, da bih na osnovu toga pokušao iscrtati neki drugi trokut koji je drugačije okrenut.



Code:

#include <iostream>
using namespace std;

void trokut(int, char);
int main(){

    int visina;
    char znak;

    cout << "Unesi visinu: ";
    cin >> visina;
    cout << "Unesi znak: ";
    cin >> znak;
    cout << endl;

    trokut(visina, znak);


}

void trokut(int visina, char znak){

    for(int i=0; i<visina; i++)
        {
            for(int j=1; j<visina-i; j++)
                {
                    cout << " ";
                }
            for(int k=0; k<=i; k++)
                {
                    cout << znak;
                }
                cout << endl;
        }

}

 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Iscrtavanje trokuta pomocu for petlje?10.01.2013. u 16:53 - pre 137 meseci
Petlja sa i se ponovi onoliko puta kolika je zadata visina trougla u linijama teksta.
Petlja sa j se ponovi onoliko puta koliko treba blanko karaktera za posmatranu i-tu liniju.
Petlja sa k se ponovi onoliko puta koliko treba znakova za posmatranu i-tu liniju.

Na primer, za visinu 5

i:0
j: ispisuje 4 " " (blanko)
k: ispisuje 1 znak

i:1
j: ispisuje 3 " " (blanko)
k: ispisuje 2 znakova

i:2
j: ispisuje 2 " " (blanko)
k: ispisuje 3 znakova

i:3
j: ispisuje 1 " " (blanko)
k: ispisuje 4 znakova

i:4
j: ispisuje 0 " " (blanko)
k: ispisuje 5 znakova



[Ovu poruku je menjao dusans dana 10.01.2013. u 22:32 GMT+1]
 
Odgovor na temu

borlland

Član broj: 156303
Poruke: 80
*.dynamic.telemach.ba.



+1 Profil

icon Re: Iscrtavanje trokuta pomocu for petlje?11.01.2013. u 09:47 - pre 137 meseci
Hvala, mislim da mi je sad puno jasnije.

Sad mi je sinula druga ideja isto vezano za iscrtavanje trokutova, ali umjesto da se iscrta tim nekim znakom (npr. zvjezdicom), želio bih da se sad iscrta brojevima, ali tamo gdje je jedna zvjezdica da stoji 1, tamo gdje su dvije zvjezdice da stoji 1 2...... ovako npr:

12345678910
123456789
12345678
1234567
123456
.....
....
...
..
1

Znam da mi je u ovom slučaju nepotrebna char varijabla. Sumnjam da ovo moguće uradit samo samo jednom varijablom "int visina"

....da li bi možda pomogla inicijalizacija niza čiju veličinu određuje korisnik, i to ubacit u treču for petlju nešto kao
Code:
for(int k=1; k<=visina -niz[i], k++)


??? da li sam bar na tragu ?
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Iscrtavanje trokuta pomocu for petlje?

[ Pregleda: 2959 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.