C++ Girilen Sayının Üssünü Alma

Bu yazıda sizlere c++ ta kullanıcıdan alınan sayının üssünü nasıl alabileceğinizi anlatacağım. Bunun için hem hazır fonksiyon olan pow()u kullanacağız hem de döngü kurarak üs alma işlemini gerçekleştireceğiz.

Üs almanın mantığı girilen sayının üssü kadar kendi ile çarpılmasıdır. Örneğin: Sorumuz 3 üzeri 4 olsun. Bu işlemi yapmak için 4 kere 3 ü çarpmamız gerekiyor. Bunu yazılım mantığı ile düşünürsek 4 kere bir döngü dönecek ve sayıyı kendisiyle çarpacağız.


#include <iostream>
using namespace std;
int main() {    
	int sayi,us,sonuc=1;
	cout<<"Sayi giriniz : ";cin>>sayi;
	cout<<"Us Giriniz : ";cin>>us;
	
	for(int i =1; i<=us; i++){
		sonuc = sonuc * sayi;
	}
	
	cout<<"Sonuc : "<<sonuc<<endl;
	
   	system("pause");
    return 0;
}

İlk olarak kullanıcıdan üs alınacak sayıyı ve üs değerini alıyoruz. Daha sonra üs sayısı kadar bir döngü kuruyoruz. Döngüde sonuç diye bir değişken kullanıyoruz. Bu değişkenin ilk değer atamasının 1 olmasının nedeni çarpmada etkisiz eleman olmasıdır. Döngü çalıştıkça sonuc değerine sayı x sayı değeri yazılarak üs alma işlemi gerçekleştirilmiş olacaktır. Örnek çıktılar aşağıdaki gibidir.

Şimdi ise pow kullanarak üs alalım bu yöntem daha basit. <Math.h> kütüphanesini eklemeyi unutmayın.


#include <iostream>
#include <math.h>

using namespace std;
int main() {    
	int sayi,us,sonuc=1;
	cout<<"Sayi giriniz : ";cin>>sayi;
	cout<<"Us Giriniz : ";cin>>us;
	
	sonuc = pow(sayi,us);
	
	cout<<"Sonuc : "<<sonuc<<endl;
	
   	system("pause");
    return 0;
}

Pow fonksiyonu iki parametre almaktadır. İlk parametre üs alınacak sayı ikinci parametre üs sayısıdır. Bunları parametre verdikten sonra geri dönüş değerini bir değişkene atıyoruz. Daha sonra ekrana yazdırıyor. Örnek ekran görüntüleri aşağıdaki gibidir.

Ek olarak 0 üzeri bir sayı durumunu if koşulu ile kontrol edebilirsiniz.

Furkan Aktaş

Bilgisayar Mühendisiyim. Microsoft MCSA Web Applications Sertifikasına Sahibim. Aktif iş hayatımda .Net Developer olarak çalışmaktayım.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir