C prog. -hogyan tovább (visszafele számoljon a ciklus)?
Feladat egy olyan karacsonyfa kirajzolasa,aminek emeletei 2 vel novekszik(sora)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,x,a;
scanf("%d", &x);
for (a=1;a<=3;++a){
for( i = 1; i <= x; i += 2 )
{
for( j = i; j < x; j+=2 )
{
printf(" ");
}
for( j = x-i; j < x; j++ )
{
printf("*");
}
for( j = i; j < x; j+=2 )
{
printf(" ");
}
printf("\n");
}
}
return 0;
}
ez a progi tudja aztot,hogy megadom,hogy pl. 10 ...akkor addig irja a piramist míg 10 csillag kinem jon és ezt háromszor egymas ala megcsinálja.
Ezt ugy atírni,hogy pl. 10 et megadok és visszafele
a legutolso "emelet"-ől kezdve rajzolja ki. Majd az alatta lévő már csak 8 legyen, és így tovább.
gondoltam olyanra,mint a pascalban van,hogy for downto ...szoval visszafele számoljon...de mikor felcsereltem a for ban a kiindulast es a végértéket a csillagok ossze-vissza futkostak a kepernyon..majd egy masik probalkozasnal csak siman a gorgeto lefutott a kepernyo aljara es semmit nem csinalt.
Ha nem simered a tömböt, akkor megkeresed egy ciklussal a tömb végét, legyen MAXTOMB, ami ugye az utolsó elem indexét kell, hogy visszaadja, aztán
for (i=maxtomb; i=0, i--){
...
}
phuuu
ezt most melyik for hoz szurjam be?
es akkor hozok letre meg egy valtozot maxtomb...ami melyik erteket veszi fel? az x szét amivel beolvasom a maxsor hosszuságát?
# 2
C-ben nem tudod "megkeresni" egy dinamikusan foglalt tömb méretét.
Az egészet építsd fel dinamikusan a memóriába majd ha kész van akkor írd ki a képernyőre file-ba vagy bárhova ahova kell, a végén illik a dinamikusan lefoglalt memóriát felszabadítani.
Az én modellezésem szerit a karácsonyfa mint objektum piramis objektumokból áll, a piramis objektum meg "*"-okból áll (meg szóközökből). (Lehet "fűszerezni" mint ahogy a képen van a "*"-okat "O"-kal, de ezt csak a karácsonyfa készítés utolsó fázisába tenném bele.)
Megvalósítottam a piramistLetrehoz, piramisMegszuntet (dinamikusan foglalt memória felszabadítása), piramisKirajzol függvényeket. Értelem szerűen a piramisKirajzol egy Piramis-t mint objektumot (dinamikusan lefoglalt memóriaterület pointert) vár paraméterül, hogy melyik piramist kell kirajzolni. A piramistLetrehoz a megadott paraméterek szerint egy piramist hoz létre stb.
Kell egy karácsonyfa készítő és megszüntető és kirajzoló függvény, amiben érdemes használni a piramis készítő stb. függvényeket.
Persze lehet a main függvénybe gányolni az egészet, de az kevésbé elegáns, átlátható, az engem csak megkavar stb.
Amit készítettem: [link]
Jó munkát!
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!