Girilen Sayının 1-10 arasındaki Üssünü Bulan Program "C#"

Stork44

Şen Üye
Katılım
19 Ara 2011
Mesajlar
98
Beğeniler
0
#1
Kendime göre hazırlamaya çalıştığım küçücük bir program:
Kod:
Console.Write("Lütfen İsminizi Giriniz:\t");
            string isim=Console.ReadLine();
            Console.WriteLine();
            Console.Write("Girdiğin Sayının üssünü bulan programa Hoşgeldin {0}!",isim);
            Console.WriteLine();
            Console.WriteLine();
            Console.Write("Sayıyı Giriniz:\t\t");
            int a;
            a=Convert.ToInt32(Console.ReadLine());
            Console.Write("Sayının Üssünü Giriniz:\t\t");
            int b;
            b = Convert.ToInt32(Console.ReadLine());
            
            
            
            if (b==1)
            {
                Console.Write("{0}",a);
            }
            else if (b==2)
            {
                Console.Write("{0}",a*a);
            }
            else if (b==3)
            {
                Console.Write("{0}",a*(a*a));
            }
            else if (b==4)  
	        {
        		 Console.Write("{0}",(a*a)*(a*a));
	        }
            else if (b==5)
            {
                Console.Write("{0}",(a*a)*(a*a)*a);
            }
            else if (b==6)
            {
                Console.Write("{0}",(a*a)*(a*a)*(a*a));
            }
            else if (b==7)
            {
                Console.Write("{0}",a*a*a*a*a*a*a);
            }
            else if (b==8)
            {
                Console.Write("{0}", a * a * a * a * a * a * a * a);
            }
            else if (b==9)
            {
                Console.Write("{0}",a * a * a * a * a * a * a * a * a);
            }
            else if (b==10)
            {
                Console.Write("{0}", a * a * a * a * a * a * a * a * a * a);
            }
            else
            {
                Console.WriteLine("Lütfen sayı üssü olarak 1-10 arasında bir sayı kullanınız ");
                Console.Write("Kullanmış oldugunuz sayı ={0}", b);
            }
            Console.WriteLine();
            
            

            Console.ReadLine();


Üstadlarıma küçük bide sorum olucak?
Şimdi kullanıcı sayı üssü girdiğinde 1-10 arasında değilde diyelim ki 30. kuvvetini bulmak istiyor.Ozaman ben ta 30 a kadar mı yazıcam ?

:ağla:
 

Bolu Beyi

Müptela Üye
Katılım
7 Nis 2010
Mesajlar
2,896
Beğeniler
36
Yaş
28
#2
İf yerine for döngüsü kullanarak, içerisinde tek bir if kontrolü ile istediğin sayının istediğin kuvvetini alabilirsin.
 

Bolu Beyi

Müptela Üye
Katılım
7 Nis 2010
Mesajlar
2,896
Beğeniler
36
Yaş
28
#3
Console.Write("Sayının Üssünü Giriniz:\t\t");
int b;
b = Convert.ToInt32(Console.ReadLine());
for(int i=0;i<100;i++)
if (i==b)
{
for(int k=0;k<b;k++)
int sonuc+=sonuc*b;
}

Visual studioda denemedim ama sanırım böyle
 

Stork44

Şen Üye
Katılım
19 Ara 2011
Mesajlar
98
Beğeniler
0
#4
for (int i = 1; i <= 100; i++)
{ if (i == b)
{

}
}


Buraya kadar herşey tamam şimdi döngüyü başlattık ve i == b olana kadar sayıyı arttırdık.Sonra sayıyı bulduğumuzda ne yapacagımızı anlamadım ???
 

Bolu Beyi

Müptela Üye
Katılım
7 Nis 2010
Mesajlar
2,896
Beğeniler
36
Yaş
28
#5
Şimdi visual studioda doğrusunu yaptım, anlamadığın yer varsa sorabilirsin:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BoluBeyi
{
class Program
{
static void Main(string[] args)
{
Console.Write("Lütfen İsminizi Giriniz:\t");
string isim=Console.ReadLine();
Console.WriteLine();
Console.Write("Girdiğin Sayının üssünü bulan programa Hoşgeldin {0}!",isim);
Console.WriteLine();
Console.WriteLine();
Console.Write("Sayıyı Giriniz:\t\t");
int a;
a=Convert.ToInt32(Console.ReadLine());
Console.Write("Sayının Üssünü Giriniz:\t\t");
int b;
b = Convert.ToInt32(Console.ReadLine());
int sonuc = a;
for (int i = 0; i < b; i++)
sonuc *= a;
Console.WriteLine(sonuc);
}

}
}
 

godoman

Pratik Üye
Katılım
15 Kas 2011
Mesajlar
24
Beğeniler
1
#6
Şimdi visual studioda doğrusunu yaptım, anlamadığın yer varsa sorabilirsin:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BoluBeyi
{
class Program
{
static void Main(string[] args)
{
Console.Write("Lütfen İsminizi Giriniz:\t");
string isim=Console.ReadLine();
Console.WriteLine();
Console.Write("Girdiğin Sayının üssünü bulan programa Hoşgeldin {0}!",isim);
Console.WriteLine();
Console.WriteLine();
Console.Write("Sayıyı Giriniz:\t\t");
int a;
a=Convert.ToInt32(Console.ReadLine());
Console.Write("Sayının Üssünü Giriniz:\t\t");
int b;
b = Convert.ToInt32(Console.ReadLine());
int sonuc = a;
for (int i = 0; i < b; i++)
sonuc *= a;
Console.WriteLine(sonuc);
}

}
}
burada sonuc=a; yerine
sonuc=1; yazılması daha uygun olacaktır. üssün 1 fazlasını buluyor. sonuc=1 yazıldığı takdirde tam sonuç bulunmaktadır.
 

Dicaste

Yeni Üye
Katılım
20 Şub 2016
Mesajlar
6
Beğeniler
0
Yaş
23
#8
Math Class'ının içinde methodu mevcut zaten.
Math.pow(double,double) şeklinde kullanabilirsin.

Bir örnek yazdım senin için For yerine LINQ kullandım.



Kod:
        private static void Main(string[] args)
        {

            var query =
                Enumerable
                    .Range(1, 10)
                    .Select(i => Math.Pow(i, 2))
                    .ToArray();

            Console.WriteLine("Result[{0}] = {1}", query.Length, string.Join(", ", query));

            Console.Read();
        }
1'den 10'a kadar tüm sayıların karesini alan program.
 

Bu konuyu okuyanlar (Üyeler: 1, Misafirler: 1)

Üst