[ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.04.12
Prihlásený: 06.06.13
Príspevky: 23
Témy: 10 | 10
NapísalOffline : 09.10.2012 13:51 | C geometricke utvary

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


Offline

Užívateľ
Užívateľ
C geometricke utvary

Registrovaný: 07.04.12
Prihlásený: 02.06.21
Príspevky: 907
Témy: 54 | 54
NapísalOffline : 09.10.2012 14:56 | C geometricke utvary

Niektoré jednoduché tvary(trojuholník, a asi aj štvorec, ..) by mali ísť jednoducho vytvoriť pomocou for.


_________________
Notebook: Dell Inspiron 15-7537= i5-4200U|nVidia GT 750M 2GB|RAM 6GB|250GB Samsung 850 EVO|W8.1|Cooler Master NotePal U3
Pc: Asus Rog Strix B360-G | i7-8700 | MSI 1080 Gaming X | Crucial Ballistix 16GB 2666MHz Dual Ranked | Samsung 970 Evo | Crucial MX500 | WD Red | Fera 3 | Arctic F12 Silent | Seasonic Focus Plus 650W Gold | Fractal Design Mini C TG
Disk: Western Digital Elements 1TB USB 2.0; Seagate Expansion 2TB USB 3.0
Príslušenstvo: A4tech Bloody V3 V-Track Core 3 + A4tech Bloody B-070; A4tech Bloody B120; A4tech Bloody G501; ATH-M40x; MSI Clutch M40
Monitor: Dell U2515H
Mobil: Xiaomi Redmi Note 3 Special Edition
Offline

Skúsený užívateľ
Skúsený užívateľ
C geometricke utvary

Registrovaný: 11.01.09
Prihlásený: 30.06.26
Príspevky: 1399
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 09.10.2012 15:03 | C geometricke utvary

V nasledujucej teme ( okrem inych ) sa riesil trojuholnik. Po pochopeni tohto kodu uz dokazes aj stvorec ( co je este jednoduchsie ) a obdlznik:
http://www.pcforum.sk/c-pyramida-vt100808.html


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.04.12
Prihlásený: 06.06.13
Príspevky: 23
Témy: 10 | 10
Napísal autor témyOffline : 09.10.2012 17:49 | C geometricke utvary

hej ale tam robia len pre plne trojuholniky ja by som chcel taky co je vnutry prazdny a neviem anto ani za boha dojst


Offline

Skúsený užívateľ
Skúsený užívateľ
C geometricke utvary

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14571
Témy: 66 | 66
Bydlisko: Žilina
NapísalOffline : 09.10.2012 17:52 | C geometricke utvary

A vlastná iniciatíva je kde? Či všetko, čo si ochotný urobiť, je použiť google pre nájdenie kompletného riešenia? Dobrý prístup :)


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.04.12
Prihlásený: 06.06.13
Príspevky: 23
Témy: 10 | 10
Napísal autor témyOffline : 09.10.2012 18:08 | C geometricke utvary

iniciativa bola soms a nato snazil prist ale neviem to jednoducho tak co mam robit ved teraz sme len s ceckom zacali a aj to na takej urovny ze podme v zime na jahody


Offline

Skúsený užívateľ
Skúsený užívateľ
C geometricke utvary

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14571
Témy: 66 | 66
Bydlisko: Žilina
NapísalOffline : 09.10.2012 18:18 | C geometricke utvary

Ukáž, čo si skúšal a čo nefungovalo, a môžme s tým pracovať. Takto netušíme, čomu vlastne nerozumieš a kde je problém. Nikto ti to tu ale nebude komplet vypracúvať za teba, to musíš predsa chápať.


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.04.12
Prihlásený: 06.06.13
Príspevky: 23
Témy: 10 | 10
Napísal autor témyOffline : 09.10.2012 18:23 | C geometricke utvary

ska to je jasne ja nechcem aby mi to niekto vypracoval ja chcem len radu ze ako na to sak na skuske to bude muset byt z mojej hlavy no a proste ide o to ze nemam tu co dat lebo nic nemam jedine co viem ze na vykreslenie bude treba nejake cykly + vnorene cykly a to je asi tak vsetko to co enviem je ze ako mam spravit algorytmus aby program vedel kedy ma vypisat medzeru a kedy ma spravit nejaky znak tu u nas to robili cez logicke cleny ale to sa mi zda moc komplikovane potom ma napadlo to spravit cez napr dvorozmerne pole ale aj to bude asi na dlho a ja to bduem msuet tak za hodku zmaknut ale teraz som nieco vyskusal neico taketo



Kód:
 #include <stdio.h>
 
 int main() {
   int i,j;
for()
   for(i=1;i<4;i++)
   {
      printf(" ");}
   for(j=4;j<8;j++)
   {
      printf("*");}
   printf("\n");
system("PAUSE");
    return 0;
   
 }


tym spravim ze proste to da riadok da tam medzery a potom tam nahodi hviezdicky a este tam teda bude jeden cyklus ten hlavny ktory bude robit z toho riadku a tam kde mam cisla tak nad tym teraz rozmyslam ze ako to spravit tak aby som len na zaciatku dal hodnoty napr ze velkost pyramidy a tei by som zadal a uz by to teda cele nakreslilo



spravil som s tym teraz toto nech to robi na viac riadkov ale nejde mi to neviem preco zda sa mi ze je to spravne
Kód:
 #include <stdio.h>
   
 int main() {
   int i,x,j,v;
   scanf("%d",&v);
   for(x=1,x<v,x++){
   for(i=1;i<4;i++)
   {
      printf(" ");}
   for(j=4;j<8;j++)
   {
      printf("*");}
   printf("\n");}
getchar();
getchar();
    return 0;
   
 }


Offline

Skúsený užívateľ
Skúsený užívateľ
C geometricke utvary

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14571
Témy: 66 | 66
Bydlisko: Žilina
NapísalOffline : 09.10.2012 22:19 | C geometricke utvary

Mno, úprimne, veľmi by ma prekvapilo, keby ten tvoj kód fungoval správne... Dva cykly sa používajú na to, že jeden sa stará o vypisovanie riadkov a druhý, ten vnorený, na vypisovanie samotných stĺpcov (políčok).

Vezmime si tú pyramídu. Ja som takéto srandy zo školy riešil už dosť dááááávno, takže teraz som si vymyslel svojské riešenie (možno sa učí aj v škole, netuším). V každom prípade mi to vracia správny výsledok :lol:

Potrebuješ pár vecí:

- rozmery daného objektu. To, že hviezdičky sú len niekde, nič neznamená, pretože zvyšok potrebuješ vyplniť prázdnym miestom, aby bola pyramída pekne zarovnaná nastred.

- stred riadku (to je vážne jednoduché, hádam písať nemusím)

- krajné pozície

C# kód
Kód:
static void GetPyramid(int maxRows)
{
       int maxColumns = (maxRows * 2) - 1; // max sirka
       int mid = (maxColumns / 2) + 1;  // stred pyramidy

       for (int row = 1; row <= maxRows; row++)
       {
                string rowItself = ""; // premenna na ukladanie riadku
                int asterixesOfRow = (row * 2) - 1;  // pocet hviezdiciek daneho riadku
                int limitLeft = mid - (asterixesOfRow - 1) / 2;  // kraj zlava
                int limitRight = mid + (asterixesOfRow - 1) / 2;  // kraj zprava

                for (int column = 1; column <= maxColumns; column++)
                {
                    if (column >= limitLeft && column <= limitRight) rowItself += "*";
                    else rowItself += " ";
                }

                Console.WriteLine(rowItself);
        }
 }


Ja viem, vy sa učíte C, ale princíp je rovnaký... :) Zisťuješ vždy len krajné pozície a ak je aktuálny stĺpec v danom rozsahu, dáš hviezdičku, inak len prázdny string/znak. Ja som to najskôr pridal vždy do premennej a vypisoval riadok po riadku. Pozri ten kód, hádam sa z toho vysomáriš, keďtak sa pýtaj.

Nakreslenie štvorca a iných obrazcov sa riadi podobnými pravidlami. Obdĺžnik a štvorec je vážne primitívny...


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 09.10.2012 22:42 | C geometricke utvary

walther: Áno! A teraz idem variť halušky na nukleárnom reaktore, rozžhavenom na 120 stupňov a regulovanom tekutým héliom. Zemiaky ostrúham v mixéry, ktorý pre istotu umiestnim na centrifúgu a hádzať do vody ich budem priemyselným robotom.

Naozaj chceš toto:
Kód:
    int velkost = 10;
    int M = velkost - 1;
    int h = 1;
    for( int i = 0; i < velkost; i++ )
    {
        for ( int j = 0; j < M; j++ )
            printf(" ");

        for ( int k = 0; k <= h-1; k++ )
            printf("*");
        printf("\n");

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

nahradiť tým tvojím zložitým paskvilom?


Offline

Skúsený užívateľ
Skúsený užívateľ
C geometricke utvary

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14571
Témy: 66 | 66
Bydlisko: Žilina
NapísalOffline : 09.10.2012 23:14 | C geometricke utvary

Jop, máš pravdu. Som si istý, že tie tvoje M, h a podobne pochopí okamžite. Došiel si si porovnávať gonády, alebo mu chceš seriózne pomôcť? Kľudne som mu mohol skopčiť riešenie zo starých skrípt alebo z netu a hotovo. Našiel som si ale chvíľu a snažil som sa napísať od nuly daný kód čo najzrozumiteľnejšie, a ty si tu prídeš jak veľký kápo, komentuješ môj kód a čo sa týka zakladateľa témy, toho si dokonale odignoroval, nedajúc jediný riadok komentára či vysvetlenia, prečo to a to, a ako to urobiť efektívnejšie.
Good attitude.


_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 09.10.2012 23:18 | C geometricke utvary

http://www.hojko.com/c-jazyk-geometrick ... 74603.html
(stále platí to, čo som písal a áno, písal som to tebe)


 [ Príspevkov: 12 ] 


C geometricke utvary



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Ako nakodit geometricke tvary vedla seba ?

v Frontend

4

776

04.09.2012 21:11

costler



© 2005 - 2026 PCforum, edited by JanoF