Priklady C - pre zaciatocnikov

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 26 Apr 2016, 21:13

Zacal som sa ucit programovat v Cecku, neviem najst ucitela tak som sa odhodlal k tomu ze zacnem sam :-)
na webe je vela vselicoho o Cecku, ale nie vsetko je vhodne pre uplneho zaciatocnika nasiel som toto, myslim ze na uplny zaciatok je to fajn,

tu je jeden priklad:

Kód: Vybrať všetko

#include <stdio.h>
main()

{
int i, j;

printf("napis cislo!\n");
scanf("%d", &i);
printf("napis dalsie cislo!\n");
scanf("%d", &j);
printf("cislo %d je vacsie\n", i > j ? i : j );
}
tento program si vyziada 2 cisla a vypise to ktore je vacsie

no a teraz potrebujem poradit lebo som sa zakusol a neviem ako dalej :-)
chcem napisat program, co nacita tri cisla a potom vypise prostredne z nich, skuste ma postrcit...

vopred dakujem za rady :-)

PS: ak mate nejake podobne priklady (podobny level) tak sem s nimi :-)

edit: takto nejak bych nacital tie 3 cisla do premennych:

Kód: Vybrať všetko

#include <stdio.h>
main()

{
int i, j, k;
printf("napis cislo!\n");
scanf("%d", &i);
printf("napis dalsie cislo!\n");
scanf("%d", &j);
printf("napis este jedno cislo!\n");
scanf("%d", &k);


}

a dalej ?
0
Naposledy upravil/-a Loloone v 27 Apr 2016, 20:03, upravené celkom 2 krát.
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

michal312
Stály člen
Stály člen
Príspevky: 385
Dátum registrácie: 30 Dec 2007, 00:00
Bydlisko: Hlohovec

Re: Priklady C

Príspevok od používateľa michal312 » 26 Apr 2016, 21:27

Skus si este pozriet knizku Vaclav Kadlec- učíme se programovat v jazyce c

zatial lepsiu knihu na ucenie c ako je tato som nenasiel
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C

Príspevok od používateľa peterple » 26 Apr 2016, 21:35

skús použiť if

ak chceš veľa podobných príkladov tak si pozri toto:

http://www.rirs.iedu.sk/Dokumenty/Ucebn ... elan/C.pdf

Zatiaľ som na učenie tiež nič lepšie nevidel. Ale každému vyhovuje niečo iné.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 26 Apr 2016, 21:45

ha ha ha .... no to je presne ten kurz z toho mojho linku :-)
ale dakujem aj tak :thumbup:
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C

Príspevok od používateľa peterple » 26 Apr 2016, 21:49

Jáj pozrel som si len link a videl som že web site robotika tak som to ani neklikal. Dúfam že ho tam aspoň spomenuli ako autora, keď si to dovolili skopírovať.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 26 Apr 2016, 22:43

jak to mam urobit kurnik s tou podmienkou if, nejak mi to hlava nebere uz
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C

Príspevok od používateľa peterple » 26 Apr 2016, 22:52

s jedným if si nevystačíš. Už mi to tiež nemyslí (niečo ladím a nejde a nejde) ale obávam sa že si budeš musieť tie čísla zotriediť.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 26 Apr 2016, 23:02

nieco mi unika, asi :-)
skusal som If (viacnasobne) aj if - else tak neviem, neni na to nejaka finta?
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

OM0XA
Stály člen
Stály člen
Príspevky: 235
Dátum registrácie: 03 Okt 2012, 23:18
Bydlisko: Poprad

Re: Priklady C

Príspevok od používateľa OM0XA » 26 Apr 2016, 23:08

su 2 moznosti:
1. cisla treba nacitat do pola, taketo nacitavanie po jednom je uz pri troch a viacerych prvkoch neefektivne. Pole zotriedit ako bolo spomenute a potom vypisat druhy prvok pola.
2. robit to pracne s vnorenymi if podmienkami


Vyborna ucebnica je toto: http://www.martinus.sk/?uItem=74741
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C

Príspevok od používateľa peterple » 26 Apr 2016, 23:10

čo by ti unikalo. Musíš urobiť triedenie troch prvkov. Keby si chcel vypísať najmenšie alebo najväčšie tak by to šlo na dva if alebo dokonca na jeden zložený ternárny operátor. Ale to čo si si vymyslel inak nejde, ako to usporiadať a potom vypísať prostredné. Lebo ten stredný prvok môže byť na hociktorom mieste. Tak preto. Iba že by to niekto vedel jednoduchšie.

-- Spojený príspevok 26 Apr 2016, 22:13 --

ešte k predchádzajúcemu príspevku. Nemusíš to dávať do poľa. Možeš to sporiadať aj v tých tvojich troch premenných. Len to bude pár if za sebou a ešte bude potrebná pomocná premenná na prehodenie hodnôt v premenných.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 26 Apr 2016, 23:37

:-) z vyukou som zacal dnes na obed tak sorry, pole - tam som este neni :pain:

niekde mam tu zelenu ucebnicu:
Obrázok

myslim ze je to ta ista len novsie vydanie, chystam sa na nu v blizkej buducnosti

dneska to uz necham tak, zajtra budem asi skusat tie vnorene if
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 45

Re: Priklady C

Príspevok od používateľa lh » 27 Apr 2016, 00:29

Nemusis vnorene if. Stacia dve jednoduche :biggrin:

edit> napoveda znie: pouzi XOR operator, je na to ako stvoreny
0
Naposledy upravil/-a lh v 27 Apr 2016, 00:51, upravené celkom 1 krát.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 27 Apr 2016, 00:43

prezradis ?
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 45

Re: Priklady C

Príspevok od používateľa lh » 27 Apr 2016, 00:53

jasne :biggrin:


Kód: Vybrať všetko


#include <stdio.h>

int main()
{
    int i, j, k;
    printf("napis cislo!\n");
    scanf("%d", &i);
    printf("napis dalsie cislo!\n");
    scanf("%d", &j);
    printf("napis este jedno cislo!\n");
    scanf("%d", &k);
    if((i>j)^(i>k))
    {
        printf("cislo %d je stredne\n", i);
        return 0;
    }
    
    if((j>i)^(j>k))
    {
        printf("cislo %d je stredne\n", j);
        return 0;
    }
        printf("cislo %d je stredne\n", k);
        return 0;
}

Vlastne rozhoduješ, či prvé číslo je práve to prostredné. Ak nieje, tak ideš na ďalšie, a ak ani to nieje, tak musí byť to tretie.

Výraz A^B je vtedy pravdivý, keď A je iné ako B, takže ak je (i>j a zároveň i<k) alebo (i<j a zároveň i>k), tak i musí byť medzi j a k... atď
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 27 Apr 2016, 01:11

lh, ty si kral :thumbup:
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
Axwell
Ultimate člen
Ultimate člen
Príspevky: 2388
Dátum registrácie: 28 Feb 2009, 00:00
Vek: 32

Re: Priklady C

Príspevok od používateľa Axwell » 27 Apr 2016, 03:31

skus aj udemy.com su tam free kurzy pre zaciatocnikov
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 27 Apr 2016, 09:35

0
Naposledy upravil/-a Loloone v 27 Apr 2016, 09:40, upravené celkom 2 krát.
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 45

Re: Priklady C

Príspevok od používateľa lh » 27 Apr 2016, 10:34

Na žiadosť zakladateľa témy pridávam komentár k rozhodovacej časti.
Pre vysvetlenie ^ je zápis XOR, čo je logický operátor, podobne ako AND, OR, NOT...


pravdivostná tabuľka pre XOR je nasledujúca:

A B A^B
0 0 0
1 0 1
0 1 1
1 1 0

Teda, ak si na začiatok zvolíme výrazy A = (i > j) a B = (i > k) (teda A hovorí o tom, či je pravda, že i je väčšie ako j a B hovorí o tom, či je pravda, že i je väčšie ako k)

Pri prvej podmienke môžu nastať 4 prípady:
1: ak je i väčšie ako j, výraz A je pravda
ak je i väčšie ako k, výraz B je pravda
potom výraz A^B je nepravda.
program pokračuje k vyhodnoteniu j

2: ak je i menšie ako j, výraz A je pravda
ak je i menšie ako k, výraz B je pravda
potom výraz A^B je nepravda.
program pokračuje k vyhodnoteniu j

3: ak je i väčšie ako j, výraz A je pravda
ak je i menšie ako k, výraz B je nepravda
potom výraz A^B je pravda.
program vypíše, že i je stredné číslo a skončí

4: ak je i menšie ako j, výraz A je nepravda
ak je i väčšie ako k, výraz B je pravda
potom výraz A^B je pravda.
program vypíše, že i je stredné číslo a skončí

Ak rozhodovaní nastanú prípady 1 a 2 program pokračuje s tým, že výrazy sa zmenia. Teraz A = (j > i) a B = (j > k) (teda A hovorí o tom, či je pravda, že j je väčšie ako i a B hovorí o tom, či je pravda, že j je väčšie ako k)

Pri druhej podmienke môžu nastať tiež 4 prípady:
1: ak je j väčšie ako i, výraz A je pravda
ak je j väčšie ako k, výraz B je pravda
potom výraz A^B je nepravda.
program pokračuje

2: ak je j menšie ako i, výraz A je pravda
ak je j menšie ako k, výraz B je pravda
potom výraz A^B je nepravda.
program pokračuje

3: ak je j väčšie ako i, výraz A je pravda
ak je j menšie ako k, výraz B je nepravda
potom výraz A^B je pravda.
program vypíše, že j je stredné číslo a skončí

4: ak je j menšie ako i, výraz A je nepravda
ak je j väčšie ako k, výraz B je pravda
potom výraz A^B je pravda.
program vypíše, že j je stredné číslo a skončí

Ak pri druhom rozhodovaní nastanú prípady 1 a 2 program pokračuje s tým, že hneď vypíše, že stredné je k, pretože ak nieje i stredné (prebehlo prvé testovanie) a ani j nieje stredné (prebehlo druhé testovanie) posledná možnosť je k.

Kód je vlastne len zápis sedliackej úvahy, že ak je jedno z troch čísiel naraz väčšie od obidvoch zostávajúcich, nemôže byť medzi nimi (je maximálne) a tak isto, ak je jedno z troch čísiel naraz menšie od obidvoch zostávajúcich, nemôže byť medzi nimi (je minimálne). V ostatných prípadoch je stredné.

Kým som to dopísal, Loloone to dohľadal :D ale už to nejdem mazať, možno to niekomu pomôže inokedy
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C

Príspevok od používateľa Loloone » 27 Apr 2016, 11:57

dakujem LH za podrobny vyklad :potlesk:


nam tu dalsi priklad na cyklus for

Kód: Vybrať všetko

#include <stdio.h>

main()
{
int i,j,velkost;
printf("Zadaj velkost:");
scanf("%d", &velkost);
  
  for ( i = 1; i <= velkost; i++ )
  {
  	for ( j = 1; j <= i; j++ )
  	{
  	    putchar('*');
  	}
  putchar('\n');
  }
}
program vykesluje z hviezdiciek trojuholnik urcitej velkosti
priklad pre 4:

*
* *
* * *
* * * *

cize pravoluhly trojuholnik

chcel bych ho modifikovat aby vykreslil rovnoramenny, cize takto
priklad pre 4:

*
* *
* * *
* * * *
* * *
* *
*
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

OM0XA
Stály člen
Stály člen
Príspevky: 235
Dátum registrácie: 03 Okt 2012, 23:18
Bydlisko: Poprad

Re: Priklady C

Príspevok od používateľa OM0XA » 27 Apr 2016, 12:14

Kód: Vybrať všetko

#include <stdio.h>

main()
{
int i,j,velkost;
printf("Zadaj velkost:");
scanf("%d", &velkost);
 
  for ( i = 1; i <= velkost; i++ )
  {
     for ( j = 1; j <= i; j++ )
     {
         putchar('*');
     }
  putchar('\n');
  }



   for ( i = velkost-1; i >= 1; i-- )
  {
     for ( j = 1; j <= i; j++ )
     {
         putchar('*');
     }
  putchar('\n');
  }

}



0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok