Tu je zdroják:
#include <stdio.h> int main () { double PI = 3.14; double polomer, obvod, obsah; printf ("Zadaj polomer kruhu: " ); scanf ("lg", &polomer); obvod = 2*PI*polomer; obsah = PI*polomer*polomer; printf ("\nObvod kruhu = %g, Obsah kruhu = %g\n", obvod, obsah); return 0; }Ide o to že keď počítam nejaký obvod/obsah tak nikdy nedostanem rovnaký výsledok
Tu je výstup 1:
viliam@viliam-desktop:~$ ./a.out
Zadaj polomer kruhu:100
Obvod kruhu = -3.27291e-38, Obsah kruhu = 8.52859e-77
viliam@viliam-desktop:~$
A tu je výstup 2:
viliam@viliam-desktop:~$ ./a.out
Zadaj polomer kruhu:100
Obvod kruhu = -2.29968e-38, Obsah kruhu = 4.21061e-77
viliam@viliam-desktop:~$
Programujem (teda lepšie učím sa ) asi 24 hod. tak tam asi bude asi milión chýb. Ale kde?
double polomer, obvod, obsah;
pokial viem tak v C-cku ak si takto zadefinujes nejake premenne, tak ich musis vynulovat, tj.
duble polomer = 0, obvod = 0, obsah = 0;
ked toto vynulovanie nespravis, program si do tych premennych dohodi nahodne cisla z rozsahu double -> to su tie divne cisla co ti vypisuje
nie som Cckar, ale zvysok vyzera ok.
scanf ("lg", &polomer);
Chyba tam totiz percento. V premennej "polomer" je teda nejaka hodnota, ktora ale nie je zhodna s tym, co vlozis cez klavesnicu. Nulovat tie premenne v tomto pripade netreba, kedze im v programu hodnotu priradis pred jej pouzitim.Zaujímavé je, že na bodkočiarku ma to v gcc upozorní ale na nejaké percento nie.
main()
.