C++'Da Biraz Yardım Eder Misiniz ?
-
#include<stdio.h>
#include<conio.h>main(){
float us,sayi; float sonuc=1;printf("Ussu alinacak sayiyi giriniz : ");scanf("%d",&sayi);
printf("Ussu giriniz : ");scanf("%d",&us);if(us==0) sonuc=1;
while(us>0){
sonuc*=sayi;
us--;
}
while(us<0){
sonuc*=(1/(float)sayi);
us++;
}
printf("sonuc : %.2f",sonuc);getch();
}
Üstteki kodlar ile real bir sayının real üssünü almaya çalışıyorum ama program hata veriyor yani sonuçta saçmalıyor :/ Nerede hata var acaba bir yol gösterici olursa sevinirim :/ -
hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i<=us; i++){
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-
sLeymN bunu yazdı:
-----------------------------hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-----------------------------integer değil hocam sayılar. Mesela 2.56'nın 3.65. üssünü bulacak program :/ evet karıştı biraz ama iyice düğüme girdim çözemiyorum :/
-
anladım hacım bakim bir dur
-
Coiner bunu yazdı:
-----------------------------sLeymN bunu yazdı:
-----------------------------hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-----------------------------integer değil hocam sayılar. Mesela 2.56'nın 3.65. üssünü bulacak program :/ evet karıştı biraz ama iyice düğüme girdim çözemiyorum :/
-----------------------------orda işler değişiyor ama üslü sayı integerlar arası işlem yapar mantık olarak yani 2.56 dediği 256/100 oluyor o da 256 ıncı kuvvetinin 100. dereceden kökü oluyor
http://en.wikipedia.org/wiki/Exponentiation#Real_powers_of_positive_numbers
-
SinusX bunu yazdı:
-----------------------------Coiner bunu yazdı:
-----------------------------sLeymN bunu yazdı:
-----------------------------hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-----------------------------integer değil hocam sayılar. Mesela 2.56'nın 3.65. üssünü bulacak program :/ evet karıştı biraz ama iyice düğüme girdim çözemiyorum :/
-----------------------------orda işler değişiyor ama üslü sayı integerlar arası işlem yapar mantık olarak yani 2.56 dediği 256/100 oluyor o da 256 ıncı kuvvetinin 100. dereceden kökü oluyor
http://en.wikipedia.org/wiki/Exponentiation#Real_powers_of_positive_numbers
-----------------------------
kafa programcılığa gıdım basmıyor desem :S -
a^b (a büyük sıfır olmak şartıyla) (a ve b reel sayı)
a^b=exp(b*ln(a))
ispatı şöyle:
a=e^ln(a) olduğuna göre a^b=(e^ln(a))^b=e^(ln(a)*b)
c++ da log yazarsan ln alır
yani senin kodda kullanıcıdan us ve sayi değişkenlerini aldıktan sonra
sonuc=exp(log(sayi)*us); diyeceksin
not: math.h başlık dosyasını da include et
not2: mantıken yazdım denemedim, ayrıca üssü alınacak saı negatif ise çarşı karışır arkadaş :)
-
Coiner bunu yazdı:
----------------------------------------------------------
kafa programcılığa gıdım basmıyor desem :S
---------------------------Öyleyse ya çok çalışman gerek normalden daha cok yada yol yakınken baska alana yönel
-
Coiner bunu yazdı:
-----------------------------sLeymN bunu yazdı:
-----------------------------hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-----------------------------integer değil hocam sayılar. Mesela 2.56'nın 3.65. üssünü bulacak program :/ evet karıştı biraz ama iyice düğüme girdim çözemiyorum :/
-----------------------------sülüman aynısını örnekledim yine anlamadı. :D
çok büyük sıkıntıları var bu adamın c++'de :D
-
düz mantık for daki int i yi double i yapsak olmazmı :D
-
Girilen bir sayıyı yazıya çeviren c++ veya c dilinde bir program gerekiyor ama kod bilgimde çok çok sıkıntı var :/
Örnek :
Girilen sayı : 112233112233112
Program Çıktısı : yüz on iki trilyon iki yüz otuz üç milyar yüz on iki milyon iki yüz otuz üç bin yüz on iki
.. 15 basamaklı bir sayıya kadar programın sayıyı okuması gerekiyor..