C jazyk geometricke utvary

Programovacie jazyky, rady, poradňa...
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

chcel by som sa spytat ako by sa dalo naprogramovat aby vykreslilo napr stvorec s hviezdiciek alebo trojuholnik obdlznik a tak dakujem za pomoc potrebujem to na jednu skusku a este som len zacal s c
beardie
Redeemer
Redeemer
Používateľov profilový obrázok
Príspevky: 20489
Registrovaný: 12 nov 2006, 10:52

Re: C jazyk geometricke utvary

Príspevok od používateľa beardie »

Cykly
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

heja le ako na to nechapem tomu moc
napr toto som moc nepochopil
#include <stdio.h>

int main()
{
int dlzka, i, j;
printf("Zadajte dlzku ramena: ");
scanf("%d", &dlzka);

for (i = 1; i <= dlzka * 2 + 1; i++) {
for (j = 1; j <= dlzka * 2 + 1; j++)
if (j == dlzka+1 || i == dlzka+1)
putchar('*');
else
putchar(' ');
putchar('\n');
}
return 0;



malo bz to spravit nejaky kriz a mi tam budeme amt proste ze spravit napr trojuholnik alebo mozno aj kruh alebo neico ine
beardie
Redeemer
Redeemer
Používateľov profilový obrázok
Príspevky: 20489
Registrovaný: 12 nov 2006, 10:52

Re: C jazyk geometricke utvary

Príspevok od používateľa beardie »

Nakresli si to na stvorcekovy papier a potom podla toho sprav cyklus

V trojuholniku (predpokladam ze rovnostranny) najskor vykreslis len spravne posunuty horny vrchol jednou hviezdickou, odriadkujes a v dalsom riadky das 1 a 1 hviezdicku, opat spravne posunutu

A tak dalej az k zakladni, ktoru vykreslis celu
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

to chapem ale tak ako spravim ze abz len na dve pozicie dalo hviezdicky a potom zase dalsie dve neviem ako to mam osetrit nemohol by si mi s tzm pomoct _?
beardie
Redeemer
Redeemer
Používateľov profilový obrázok
Príspevky: 20489
Registrovaný: 12 nov 2006, 10:52

Re: C jazyk geometricke utvary

Príspevok od používateľa beardie »

Vkladaj tam medzery
putchar(' ');
Spravny pocet medzier si vlozis cyklom
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

hej ale ako na to s tymi logickymi operatormi treba to spravit tak aby tam boli nejake cykly a potom s logickymi operatormi vacsionou to je z eked je to jedna tak da tam znak ked je nula da medzeru a na to neviem prist
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C jazyk geometricke utvary

Príspevok od používateľa BX »

Žiadne logické operátory. Predpokladajme takýto tvar:

Kód: Vybrať všetko

MMM*
MM***
M*****
*******
M môžeš nahradiť znakom medzery, ale takto je to názornejšie.

Takže čo k tomu:

Kód: Vybrať všetko

MMM* (3 medzery, 1 hviezda)
MM*** (2 medzery, 3 hviezdy)
M***** (1 medzera, 5 hviezd)
******* (0 medzier, 7 hviezd)
Stačí to previesť do kódu, kde budeš mať pár cyklov - jeden hlavný (počet riadkov) a v ňom jeden na medzery (prebehne najprv 3x, potom 2x atď) a jeden na hviezdičky (kde počet hviezd sa bude zvyšovať o dva)
Hotovo.

Podobne si nakresli aj iné tvary.
Napr. ten kríž môžeš urobiť tiež takto jednoducho. Len tam bude niekde podmienka, že ak si v polovici riadkov, vykresli celé rameno a potom budeš pokračovať v medzerách a jednej hviezdičke.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: C jazyk geometricke utvary

Príspevok od používateľa harrison314 »

n0sf3ratus napísal:chcel by som sa spytat ako by sa dalo naprogramovat aby vykreslilo napr stvorec s hviezdiciek alebo trojuholnik obdlznik a tak dakujem za pomoc potrebujem to na jednu skusku a este som len zacal s c
Takze prvak na FIIT, odporucam aby si sa C naucil ako otcenas.
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

BX vedel by si aj nacrtnut nejako tie cykly ?? takze by tam boli tri ale ako by mali nasledovat tak ze ten hlavny potom v nom sa vykona prvy pre medzery a potom az druhy na hviezdy ????
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C jazyk geometricke utvary

Príspevok od používateľa BX »

Skúšaj, skúšaj, skúšaj. Tak sa to naučíš najlepšie. A áno, napísal si to správne. Keď prepíšem to, čo si písal ty, do pseudokódu, dostaneš v podstate riešenie. Už to len zapísať v C.

Kód: Vybrať všetko

velkost = nacitaj();
M = velkost - 1;
h = 1;
cyklus ( od 0 do velkost-1 )
{
  cyklus ( od 0 do M ) vypis('M');
  cyklus ( od 0 do h-1 ) vypis('*');
  vypis('\n');

  M = M-1;
  h = h+2;
}
Nauč sa riešiť úlohy takýmto spôsobom a nebudeš mať problém. Ten syntaktický guláš je druhoradý.
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

Kód: Vybrať všetko

#include<stdio.h>

int main()
{
	int M,h,velkost,i,k,j;
scanf("%d",&velkost);
M = velkost - 1;
h = 1;
for(i=0; i<velkost-1;i++ )
{
  for(j=0;j<M;j++ ) 
	  printf(" ");
  for (k=1; k<h-1;k++ )
	  printf("*");
  printf("\n");

  M = M-1;
  h = h+2;

}
  getchar();
  getchar();
  return 0;
}

tak spravil som to takto a funguje to diky ale este chcel by som to prerobit tak ze na riadky ze zadam ze kolko riadkov ma mat pyramida
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C jazyk geometricke utvary

Príspevok od používateľa BX »

Poriadne sa zamysli nad tým, čo si napísal a zistíš, že to máš tak ako chceš. Len tam stačí zmeniť pár maličkostí. Porovnaj to, čo som napísal ja a čo si napísal ty.
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

nieco asi v tom prvom cykle treba upravit len neviem co este


a uz som dosiel nato trosku zmenil som to v prvom cykle for z velkost-1 na velkost+1 a to mi spravi pyramidu taku vysoku ako chcem ale potom mi to tam trochu blbo nahodi ju posune o nieco doprava a niektore znaky zaniknu este to treba teda osetrit


a super dosiel som nato este v druhom cykle som spravil ze to ma ist do j<m+2 namiesto j<m a pekne mi to posunulo do prava a nakreslilo pyramidu


teraz by som este chcel to osetrit tak ze vnutro pyramidy aby bolo prazdne aby to bol trojuholnik ale to bude asi tazsie na osetrenie
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C jazyk geometricke utvary

Príspevok od používateľa BX »

Choď na to rovnako ako doteraz, veľa skúšaj a nemáš problém.
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

hej teraz som skusal zrobit jeden program na nakreslenie trojuholnika trochu inac

Kód: Vybrať všetko

*
**
***
****
*****
****
***
**
*
a spravil som to tak ze najprv som len tak si napisal na papier program a potom to robil uz aj so syntaxou a slo to v pohode diki za dobru radu toto mi fakt pomohlo

len akurat sa bojim ze na tej skuske ma to tak rychlo vsetko nenapadne
lebo tam nato bude hodina a daju nam nieco nakreslit napr sachovnicu z hviezdiciek alebo take nieco a tam asi bude treba pouzit tie logicke cleny a tomu moc nerozumiem
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C jazyk geometricke utvary

Príspevok od používateľa BX »

Tie "logické členy" používaš predsa aj ty, aha tu
for(i=0; i<velkost-1;i++ )
{
for(j=0;j<M;j++ )
printf(" ");
for (k=1; k<h-1;k++ )
printf("*");
printf("\n");

M = M-1;
h = h+2;
}
To čo robíš je správne. Drž sa toho. Rob si to na papier, prepisuj do C a experimentuj s tým.
K tomu si ale samozrejme ešte osvoj podmienky, často to bez nich nepôjde. (Ty podmienky vlastne už aj pouźívaš (zvýraznené časti), len poriadne pochop, čo znamenajú)
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

pokusim sa oni to u nas na vzorovych prikladoch robili cez logicky sucet a sucin

neico taketo napr

Kód: Vybrať všetko

for (i=1; i<=r; i++) {
  for (j=1; j<=r; j++) 
  if (i % 2 == 1 && (j % 6 == 1 || j % 6 == 2) || 
      i % 2 == 0 && j % 6 != 1 && j % 6 != 2)
    putchar('*');
  else 
    putchar(' ');
  putchar('\n');
}
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C jazyk geometricke utvary

Príspevok od používateľa BX »

Logický súčin/súčet/ďalšie ste sa mali učiť na matematike (mat. logika) - dokonca už na strednej.
Nie je to nič iné, ako stará dobrá pravdivostná tabuľka.
Takže to nemôže byť problém. Treba si to len poriadne kresliť a písať, čo kedy a s čím súvisí.
n0sf3ratus
Amateur
Amateur
Príspevky: 22
Registrovaný: 09 okt 2012, 13:56

Re: C jazyk geometricke utvary

Príspevok od používateľa n0sf3ratus »

no na strednej nieco bolo ale to bolo uplne len ze nejake vyroku ze co je logicky sucin a sucet teda and a or a to je vsetko nic viac moja stredna bola dost pozadu
Napísať odpoveď