Forum » Programiranje » [C] Izris očrtanega pravokotnika
[C] Izris očrtanega pravokotnika
N-E-O ::
Moja naloga je izrisati (z zvezdicami) očrtani pravokotnik, kateremu na začetku podamo širino a in višino b. Za sam izpis je dovoljeno uporabiti NATANČNO 2 zanki (for,do,while) in nobenega if stavka!
Izpis znam sprogramirati z dvema for zankama in enim if stavkom. Ne uspe mi kodo skrčiti na zgolj 2 zanki. Baje, da se da zadevo rešiti s funkcijami (samo znotraj njih so pa spet potrebne zanke ne?). Ideje?
del kode, ki izriše pravokotnik
Izpis znam sprogramirati z dvema for zankama in enim if stavkom. Ne uspe mi kodo skrčiti na zgolj 2 zanki. Baje, da se da zadevo rešiti s funkcijami (samo znotraj njih so pa spet potrebne zanke ne?). Ideje?
del kode, ki izriše pravokotnik
Follow the white rabbit.
r5r ::
Osebno bi zadevo rešil s funkcijo s tremi parametri {prvi in zadnji znak, prostor vmes, znak vmes}.
Program prvo kliče funkcijo { * , širina - 2 , * }. Nato z zanko, ki se ponovi za {višina - 2}, kliče isto funkcijo { *, širina - 2 , '' }. Nato pa še enkrat ponoviš tisto prvo.
Upam, da razumeš.
Program prvo kliče funkcijo { * , širina - 2 , * }. Nato z zanko, ki se ponovi za {višina - 2}, kliče isto funkcijo { *, širina - 2 , '' }. Nato pa še enkrat ponoviš tisto prvo.
Upam, da razumeš.
And it makes me wonder.
r5r ::
Verjetno je potrebno narisati obseg pravokotnika, torej označiti samo stranice.
Beseda očrtani ni najbolj primerna, saj se to uporablja le v povezavi z drugimi liki, ko želimo lik postaviti tako, da je že podan lik v notranjosti našega (pravokotnika).
Beseda očrtani ni najbolj primerna, saj se to uporablja le v povezavi z drugimi liki, ko želimo lik postaviti tako, da je že podan lik v notranjosti našega (pravokotnika).
And it makes me wonder.
N-E-O ::
@r5r
Hvala za tale nasvet. Sem naredil zdaj z dvema for zankama.
Razen, če vnesem kot širino ali višino vrednost 1, ne izriše pravilno. Samo mislim, da to se ne da rešit ne da bi uporabil dodaten if stavek.
Hvala za tale nasvet. Sem naredil zdaj z dvema for zankama.
Razen, če vnesem kot širino ali višino vrednost 1, ne izriše pravilno. Samo mislim, da to se ne da rešit ne da bi uporabil dodaten if stavek.
Follow the white rabbit.
r5r ::
Če zgornje zvezdice pomenijo samo samo rob, potem tisto odštevanje za 2 odstrani.
And it makes me wonder.
llc ::
Kaj pa tkole (samo 1 for zanka, brez if stavkov):
int a = 10, b = 5;
int y;
char *line = malloc(a + 3);
memset(line, '*', a + 2);
line[a + 2] = 0;
printf("%s\n", line);
for (y = 0; y < b; y++)
printf("*%*c*\n", a, ' ');
printf("%s\n", line);
free(line);
int a = 10, b = 5;
int y;
char *line = malloc(a + 3);
memset(line, '*', a + 2);
line[a + 2] = 0;
printf("%s\n", line);
for (y = 0; y < b; y++)
printf("*%*c*\n", a, ' ');
printf("%s\n", line);
free(line);
Shinobi ::
memset dejansko je for zanka, ce smo natancni. Pa dvomim, da uporabljajo memset v soli. Izvedljivo vsekakor je.
gumby ::
if lahko nadomestis z while
edit: for tudi, seveda... se na eleganten nacin resis omejitev naloge
edit2: zdaj vidim, da je while tud prepovedan... ups
edit: for tudi, seveda... se na eleganten nacin resis omejitev naloge
edit2: zdaj vidim, da je while tud prepovedan... ups
my brain hurts
Zgodovina sprememb…
- spremenil: gumby ()
Jakob35 ::
ja ej a mi kdo pove v katerm jeziku vi to delate?
Kaj pa tkole (samo 1 for zanka, brez if stavkov):
int a = 10, b = 5;
int y;
char *line = malloc(a + 3);
memset(line, '*', a + 2);
line[a + 2] = 0;
printf("%s\n", line);
for (y = 0; y < b; y++)
printf("*%*c*\n", a, ' ');
printf("%s\n", line);
soeiv katermu jeziku je to
free(line);
Zgodovina sprememb…
- spremenilo: Jakob35 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Algoritmi - diagrami potekaOddelek: Šola | 2194 (1895) | lebdim |
» | izpisovanje datotek in sortiranjeOddelek: Programiranje | 788 (610) | cobrica |
» | Nemorem rešit ene naloge z c++ (sem začetnik) (strani: 1 2 )Oddelek: Programiranje | 10394 (6132) | technolog |
» | C strukture, kazalci naloga pomocOddelek: Programiranje | 1461 (1356) | DavidJ |
» | [C] čuden izpis iz txt dat. na zaslonOddelek: Programiranje | 1665 (1402) | l0g1t3ch |