Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
honza.b4
Člen
Avatar
honza.b4:4.4.2014 15:28

Ahojte.

Nevite, proc to nefunguje? Melo by to fungovat.

#include <math.h>
#include <stdio.h>

int mocnina =10, n = 12;

void umocni(){

int pomoc = pow(mocnina,n);
printf("%d", pomoc);
}

int main(void){

umocni();
return 0;
}

compiler mi vypisuje:

undefined reference to `pow'
 
Odpovědět 4.4.2014 15:28
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na honza.b4
Filip Šohajek:4.4.2014 15:33

Pokud kompilujes pomoci gcc pridej parametr -lm

 
Nahoru Odpovědět 4.4.2014 15:33
Avatar
honza.b4
Člen
Avatar
 
Nahoru Odpovědět 4.4.2014 15:34
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na honza.b4
Filip Šohajek:4.4.2014 15:34

Hod sem prikaz, kterym to kompilujes.

 
Nahoru Odpovědět 4.4.2014 15:34
Avatar
honza.b4
Člen
Avatar
Odpovídá na Filip Šohajek
honza.b4:4.4.2014 15:44

gcc -lm zdrojak.c

 
Nahoru Odpovědět 4.4.2014 15:44
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na honza.b4
Filip Šohajek:4.4.2014 15:46

gcc zdrojak.c -lm

 
Nahoru Odpovědět 4.4.2014 15:46
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:4.4.2014 20:16

Ahoj,

v jakém smyslu to nefunguje? Jestli ti to nevypisuje jako výsledek číslo 1000000000000, tak to možná bude tím, že při konverzi mezi reálnými a celými čísly dochází k zaokrouhlování či dokonce nějakému ošklivému useknutí. Předpokládám, že velikost typu int bude v tvém případě 4 bajty (32 bitů), což je hodně málo v porovnání s velikostí např. typu double.

Zkus přiřazovat výsledek funkce pow do nějaké proměnné typu double (či long double) a příslušně změň přepínač ve výpisu.

Nahoru Odpovědět 4.4.2014 20:16
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.