Eclipse, sinf() fonksiyonu calismiyor.

Başlatan Yuunus, 25 Ocak 2020, 23:22:25

Yuunus

Merhaba, Eclipse de asagidaki gibi bir kodu calistiramiyorum,

#include <stdio.h>
#include <stdlib.h>

#include "math.h"

float x,y;

int main(void) {

	x	=	3.134;
	
	y	=	sinf(x);
	
	printf("%f",	y);
	
	return EXIT_SUCCESS;
}

hata ise:"undefined reference sinf"

lakin sinf(1.234) gibi sabit bir sayiyi hesaplatirsan sorun yok ama hesaplama sonucunu bir degiskene atmaya kalksam hata veriyor.

y=sinf(1.234);//calisiyor
y=sinf(x);//calismiyor
sinf(x);//calisiyor


ve DevC++ da hicbir sorun cikmiyor

muhittin_kaplan


Yuunus

#2
linux ustunde gcc

pwr_24

Alıntı yapılan: digiman - 25 Ocak 2020, 23:22:25Merhaba, Eclipse de asagidaki gibi bir kodu calistiramiyorum,

#include <stdio.h>
#include <stdlib.h>

#include "math.h"

float x,y;

int main(void) {

	x	=	3.134;
	
	y	=	sinf(x);
	
	printf("%f",	y);
	
	return EXIT_SUCCESS;
}

hata ise:"undefined reference sinf"

lakin sinf(1.234) gibi sabit bir sayiyi hesaplatirsan sorun yok ama hesaplama sonucunu bir degiskene atmaya kalksam hata veriyor.

y=sinf(1.234);//calisiyor
y=sinf(x);//calismiyor
sinf(x);//calisiyor


ve DevC++ da hicbir sorun cikmiyor

y=sinf(float x) denermisiniz

Yuunus

@pwr_24  denedim yine ayni bu kezde hata : expected expression before 'float'


SpeedyX

sinf(x) derler çünkü derlerken o satırı dikkate almıyor. Diğer şekilde fonksiyon math.h içinde yok, o yüzden derlemiyor.

Yuunus

#7
Alıntı yapılan: SpeedyX - 26 Ocak 2020, 00:16:37sinf(x) derler çünkü derlerken o satırı dikkate almıyor. Diğer şekilde fonksiyon math.h içinde yok, o yüzden derlemiyor.

peki printf("%f",sinf(x)); neden calisiyor o zaman hemde sonucu da dogru hesapliyor.Sorun hesaplanan degeri degiskene atama yapinca cikiyor.

pardon bunada kiziyor
lakin
#define x 3.134 yazip hesaplatirsam printf("%f",sinf(x)); calisiyor, ama x'i degisken olarak tanimlarsam hata veriyor, benimde sabit bir degeri degilde surekli degisen bir degerin sinf degerini hesaplamam gerekiyor.

pwr_24

Alıntı yapılan: digiman - 26 Ocak 2020, 00:21:09peki printf("%f",sinf(x)); neden calisiyor o zaman hemde sonucu da dogru hesapliyor.Sorun hesaplanan degeri degiskene atama yapinca cikiyor.

pardon bunada kiziyor
lakin
#define x 3.134 yazip hesaplatirsam printf("%f",sinf(x)); calisiyor, ama x'i degisken olarak tanimlarsam hata veriyor, benimde sabit bir degeri degilde surekli degisen bir degerin sinf degerini hesaplamam gerekiyor.
y=float sinf(x)

Yuunus

Alıntı yapılan: pwr_24 - 26 Ocak 2020, 00:47:32y=float sinf(x)
yok kardes bunlar calismiyor, zaten fonksiyonu cagirirken alacagi degerin ve dondurecegi degerin float oldugu belirtilmis ekstradan belirtmek birseyi degistirmiyor.

z

sin(1.23) u hesapliyor fakat sin(x) hesaplamiyorsa bu isi islemci degil derleyici hesapliyordur.

Sacma bir sey.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

HAKKITANIR

atanacak değişkeni ve sinüs hesaplayıcının kabul edip, geri döndüreceği değerleri, birde double (işaretli) olarak tanımlasanız.

Yuunus

win ta sorun yok ama linux ta kurulu eclipse de calismiyor garip gercekten, sanirim benim gcc de bir sorun var. Beles OS buraya kadar sanirim, gerci eclipse de beles ya.

engerex

Ayarlardan C99 ve üzerini seçmeyi deneyin.

pwr_24

Alıntı yapılan: digiman - 26 Ocak 2020, 02:03:41win ta sorun yok ama linux ta kurulu eclipse de calismiyor garip gercekten, sanirim benim gcc de bir sorun var. Beles OS buraya kadar sanirim, gerci eclipse de beles ya.

hiçbir alaksı yok. Linux programlama için daha fazla tercih edilir. tamamıyla c sürümü ile alakalı "engerex" in  çözümünü dene istersen.