Poslao: 08 Okt 2012 18:13
|
offline
- crusher

- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Radim jedan zadatak koji kaze ovako:
Napisite program koji prikazuje okvir unutar okvira unutar okvira unutar okvira. Svaki okvir treba nacrtati drugacijim znakom. Napisite program tako da se jednostavnom zamenom jedne vrednosti odredjuje koliko nivoa oblika se crta.
Ja sam radio ovako jedan slican zadatak i znao sam da ga resim sam, na kojem sam trebao da nacrtam jedan okvir a u okviru da stoji neki tekst.
Poceo sam da nekako radim ovo, ali uvek zapnem kad treba da se izbace okvire. Evo koda kako sam poceo:
#include <stdio.h>
#include <stdlib.h>
#define sirok 3
#define plus '+'
#define crta '-'
#define procenat '%'
#define taraba '#'
#define prazno ' '
void string(int, char);
int
main()
{
int broj;
printf("Unesite koliko okvira zelite unutar okvira(MAX = 4): ");
scanf("%d", &broj);
printf("Uneli ste da zelite %d okvira\n", broj);
if(broj <= 0 || broj >= 4){
printf("\n\nUnesite broj do 4!\n");
exit(EXIT_FAILURE);
}
return EXIT_SUCCESS;
}
void string(int n, char ch)
{
while(n-- > 1){
putchar(ch);
}
}
Dodjem tako, ali kako sad da stavim da se izbacuju oblici. Ja imam ideju da se napravi prvi okvir od 30 znaka na horizontali i dva znaka na vertikali pa idu 2 razmaka tj. 2 prazno, pa opet okvir i tako dalje..
Mozete li mi malo pomoci da mogu da resim.
Hvala unapred!!
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 08 Okt 2012 19:48
|
offline
- Aleksandr1996

- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
#include <stdio.h>
char ZVEZDICA = '*';
void Pravougaonik(void)
{
int intBrojac;
for(intBrojac = 0;intBrojac<=19;intBrojac++)
{
printf("*");
}
printf("\n");
for(intBrojac = 0;intBrojac<=10;intBrojac++)
{
printf("%c%19c\n", ZVEZDICA, ZVEZDICA);
}
for(intBrojac = 0;intBrojac<=19;intBrojac++)
{
printf("*");
}
printf("\n");
}
int main(void)
{
Pravougaonik();
system("PAUSE");
return 0;
}
Mislim da je zadatak malo tezi za tebe ali pokusaj da ga resis gore ti je kod kako da nacrtas jedan okvir.
Nemogu da ti napisem ceo kod nemama vremenea nadam se da ce ti neko drugi vec pomoci i da ces shvati.
|
|
|
|
Poslao: 12 Okt 2012 10:41
|
offline
- crusher

- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Napisano: 08 Okt 2012 20:40
Ovaj kod sto si mi dao razumem sve sta radi. Sad cu probati da napravim drugi okvir u njemu, ako ne uspem, javicu, pa ako imas vremena ili neko drugi da mi pomogne sa zaddatkom. Ne trazim od tog da mi uradi zadatak skroz, vec samo da mi malo pomogne da mu sam da napravim kod, jer se tako najbolje uci.
Dopuna: 12 Okt 2012 10:41
Nisam uspeo da ono napravi, mozete li mi pomoci malo, samo da ukapiram kako bi trebao da ide kod?
|
|
|
|
Poslao: 12 Okt 2012 12:04
|
offline
- Aleksandr1996

- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
Napisano: 12 Okt 2012 12:03
#include <stdio.h>
void okvir1(void)
{
printf("**********************************");
printf("* *");
printf("* *");
printf("* *");
printf("**********************************");
}
void okvir2(void)
{
printf("**********************************");
printf("* ######################### *");
printf("* # # *");
printf("* ######################### *");
printf("**********************************");
}
void okvir3(void)
{
// Sad stavis isto onako samo 3 okvira povecaj one gore kako bi ti stalo
}
void okvir4(void)
{
//sad stavis 4 okvira
}
int main(void)
{
int a;
printf("Unesite koliko bi ste okvira hteli: ");
scanf("%d",&a);
if(a==1)
{
okvir1();
}
else if(a==2)
{
okvir2();
}
else if(a==3)
{
okvir3();
}
else if(a==4)
{
okvir4();
}
else
{
printf("Unesli ste pogresan broj okvira!!!");
}
system("PAUSE");
return 0;
}
Dopuna: 12 Okt 2012 12:04
Uno gore sa primerima u okvirima mi se iznekog razloga pomerilo ali nije bitno shvaticces ideju.
|
|
|
|
Poslao: 12 Okt 2012 19:38
|
offline
- crusher

- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Evo ceo kod, 1 i 2 okvira rade, ali 3 i 4 ne izbacuje skoz lepo, ne razumem zasto, znas li mozda zasto ne izbaci lepo kako sam stavio?
#include <stdio.h>
#include <stdlib.h>
void okvir1(void)
{
printf("**********************************");
printf("\n* *");
printf("\n* *");
printf("\n* *");
printf("\n**********************************\n");
}
void okvir2(void)
{
printf("\n**********************************");
printf("\n* ######################### *");
printf("\n* # # *");
printf("\n* # # *");
printf("\n* # # *");
printf("\n* # # *");
printf("\n* ######################### *");
printf("\n**********************************\n");
}
void okvir3(void)
{
printf("\n**********************************");
printf("\n* ######################### *");
printf("\n* # %%%%%%%%%%%%%%%%%%%% # *");
printf("\n* # % % # *");
printf("\n* # % % # *");
printf("\n* # % % # *");
printf("\n* # % % # *");
printf("\n* # %%%%%%%%%%%%%%%%%%%% # *");
printf("\n* ######################### *");
printf("\n**********************************\n");
}
void okvir4(void)
{
printf("\n**********************************");
printf("\n* ######################### *");
printf("\n* # %%%%%%%%%%%%%%%%%%%% # *");
printf("\n* # % $$$$$$$$$$$$$$$$ % # *");
printf("\n* # % $ $ % # *");
printf("\n* # % $ $ % # *");
printf("\n* # % $$$$$$$$$$$$$$$$ % # *");
printf("\n* # %%%%%%%%%%%%%%%%%%%% # *");
printf("\n* ######################### *");
printf("\n**********************************\n");
}
int main(void)
{
int a;
printf("Unesite koliko bi ste okvira hteli: ");
scanf("%d",&a);
if(a==1)
{
okvir1();
}
else if(a==2)
{
okvir2();
}
else if(a==3)
{
okvir3();
}
else if(a==4)
{
okvir4();
}
else
{
printf("Unesli ste pogresan broj okvira!");
}
system("PAUSE");
return EXIT_SUCCESS;
}
|
|
|
|
Poslao: 12 Okt 2012 21:00
|
offline
- Aleksandr1996

- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
Brate aj se zapita sto nece cemu sluzi % za konverziju a dva %% takva daju jedan % zato izbegavaj % da korstis u printf.
|
|
|
|
|
Poslao: 16 Okt 2012 00:36
|
offline
- Srki_82

- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Nego... kako bi napravio da broj okvira može da bude recimo 20?
|
|
|
|
Poslao: 17 Okt 2012 09:43
|
offline
- crusher

- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Pa trebao bi da napravim tako 20 funkcija od okvir1 do okvir20 samo neznam gde bih nasao toliko znakova za 20 okvira.
I da stavim dalje else if do 20.
|
|
|
|
Poslao: 17 Okt 2012 09:56
|
offline
- Srki_82

- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Po mom mišljenju, niste zadatak rešili onako kako je bilo zamišljeno. Prilično sam siguran da si zadatak trebao da rešiš uz pomoć petlji, a ne da samo napraviš par procedura koje malo drugačije crtaju okvire.
|
|
|
|