Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 3.486 pregleda

Najnovija ↓

[Zadatak] Piramda, zvezdice 16.11.2009. u 02:27 · pre 206 meseci
izmenjeno 3 puta, poslednji put Mihajlo Cvetanović 16.11.2009. u 10:55
  1. Mihajlo Cvetanović16.11.2009. u 10:55zapis iz teksta poruke
  2. Mihajlo Cvetanović16.11.2009. u 10:55zapis iz teksta poruke
  3. razvaljotka16.11.2009. u 02:52zapis iz teksta poruke
#1
Je li moze neko da objasni ove ugnezdene for petlje

Code:
#include <stdio.h>

int main(){
    int i,j,k,n;
    scanf("%d",&n);

    for(i=0; i<n; i++) {
        for(k=0;k<n-i-1; k++)
            printf(" ");
        for(j=0;j<2*i+1; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}


Fora je u iscrtavanju ASCII piramide.
E sad, nije mi bas najjasnije kako da pravim ove fore unutar for pelji koje ispisuju blanko i * ?????????????
Re: [Zadatak] Piramda, zvezdice 16.11.2009. u 11:01 · pre 206 meseci #2
Dodao sam [code ] tagove i nazubio program da se bolje vide stvari.

Što se tiče "fora" stvar je vrlo jednostavna: moraš da razmišljaš kao mašina. Posmatraj ovaj kod, uključi vijuge, probaj da ga izvršavaš uz pomoć papira i olovke, korak po korak, i shvatićeš to što ti nije jasno.

U suštini svaki red na ekranu je nekoliko spejsova (" ") i nekoliko zvezdica. Broj spejsova opada za po jedan, a broj zvezdica raste za po dva. Na kraju treba da dobiješ jelku, sa onoliko redova koliko iznosi početni broj n.
Re: [Zadatak] Piramda, zvezdice 24.11.2009. u 12:59 · pre 206 meseci
izmenjeno 1 put, poslednji put unisoft 24.11.2009. u 14:57
  1. unisoft24.11.2009. u 14:57zapis iz teksta poruke
#3
Da krenemo.

Posto si uneo n, ceo broj (tip int) potrebna nam je jedna petlja koja ce se vrteti od 1 pa do n.Po zavrsetku svakog kruga i uvecavamo za jedan a to se postize komadom i++ ili i += 1 ili i = i + 1 ( sva tri nacina rade istu stvar).

*** mala pauza.
O samoj petlji ti nista necu govoriti jer to znaci da ti zelis da ti neko, neko tamo sve objasni a da se ti ni malo ne pomucis .Lepo knjigu u ruke i razumeces.VERUJ MI.
*** kraj

mozes primetiti kada pokrenes program da se svaki novi redi ima 2 'DVA' nova elementa. 1 red ima jednu *, drugi red 3 * , treci red ima 5*. Iz ovoga svako moze da zakljuci da ti u petlji treba neka promenljiva koja ce se za 2 uvecavati u svakom krugu.Da bi postigao IZGLED PIRAMIDE pre ove petlje za uvecanje mora postojati jedna petlja koja stampa RAZMAKE a posto ostampa onda se stampa na izlazu *.

u tvom kodu ima jedna kreska a i nije jer kada se ukloni ne pravi smetnje u radu programa samo pravi kod NE RAZUMLJIVIM

Code:

#include <stdio.h>

int main(){
    int i,j,k,n;
    scanf("%d",&n);

    for(i=0; i<n; i++) {
        for(k=0;k<n-i; k++)
            printf(" ");
        for(j=0;j<2*i+1; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

prva petlja: i=1 iako je i = 0 pre nego sto krene petlja i se uvecava za 1. Pogledaj gde se prva
 { zagrada zatvara } ispred return 0; Kada otvoris jednu { i zatvoris sa jednom } sve izmedju 
ovoga se isvrsava a to znaci posto se petlja vrti pre nego sto ponovo uveca i za 1 kompajler 
ce kod u ovim zagradama ko....





pogledaj i videces sta sam ispravio.Ima samo jedna greska i sada malo razmisli sta se desava.

[code]
Re: [Zadatak] Piramda, zvezdice 26.11.2009. u 11:54 · pre 206 meseci #4
Nema greske u prvom kodu.

'i' se ne povecava pre izvrsenja prve petlje
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme