For Döngüsü C# Console
For Döngüsü: Belirli aralıklarda(sayıda) kodlar icra
edilecekse for döngüsü kullanılır.
Kullanımı:
For (i=başlangıç değeri ; i< bitiş
değeri; Artış miktarı)
{
Kodlar;
}
Örnek: 1′den 100′e kadar olan sayıların toplamını
bulup sonucu ekranda gösteren programın kodlarını yazalım.
static
void Main(string[] args)
{
int
toplam=0;
for (int
i = 0; i <= 100; i++)
{
toplam +=
i;
}
Console.WriteLine("Toplam
= {0}", toplam);
Console.ReadKey();
}
Örnek: 45 ile 125 arasındaki çift sayıların toplamını bulup
sonucu ekranda gösteren programın kodlarını yazalım
static
void Main(string[] args)
{
int
toplam=0;
for (int
i = 46; i <= 125; i+=2)
{
toplam +=
i;
}
Console.WriteLine("Toplam
= {0}", toplam);
Console.ReadKey();
}
Not : For döngüsünde aynı anda iki değişken
tanımlanıp artırılabilir.Bir örnek verelim.
Örnek: 1 ile 100 arasındaki tek ve çift
sayıların toplamını bulup sonucu ekranda gösteren programın kodlarını
yazalım.
static
void Main(string[] args)
{
int
tektoplam=0, cifttoplam=0;
for (int
i = 1, j = 2; i <= 100 && j <= 100; i += 2, j += 2)
{
tektoplam
+= i;//tektoplam değişkenine i değerini ekle
cifttoplam
+= j;
}
Console.WriteLine("Tek
Sayıların Toplamı = {0} ",tektoplam);
Console.WriteLine("Çift
Sayıların Toplamı = {0}",cifttoplam);
Console.ReadKey();
}
Örnek: Aynı sorunun cevabını mod (%) komutunu
kullanarakta yapabiliriz.
static
void Main(string[] args)
{
int
tektoplam=0,cifttoplam=0;
for (int
i = 0; i <= 100; i++)
{
if (i % 2
== 1) tektoplam += i;
else
cifttoplam += i;
}
Console.WriteLine("Tek
Sayıların Toplamı = {0}", tektoplam);
Console.WriteLine("Çift
Sayıların Toplamı = {0}", cifttoplam);
Console.ReadKey();
}
Örnek: Klavyeden Girilen Notların Ortalamasını Alan
Programın (For Döngüsü) C# Console
string
ad;
double vizeNotu, finalNotu, ogrenci, ort, Sort
= 0;
Console.Write("Sınıf Mevcudunu Giriniz :
");
ogrenci =
Convert.ToDouble(Console.ReadLine());
for (int i = 1; i <= ogrenci; i++)
{
Console.Write("Vize Notunu Giriniz =
");
vizeNotu = Convert.ToDouble(Console.ReadLine());
Console.Write("Final Notunu Giriniz =
");
finalNotu =
Convert.ToDouble(Console.ReadLine());
ort = vizeNotu * 0.4 + finalNotu * 0.6;
Console.WriteLine("Ortalama = " +
ort);
if (ort < 50)
{
Console.WriteLine("Öğrenci Kaldı ");
}
else
Console.WriteLine("Öğrenci Geçti ");
Sort = Sort + ort;
}
Console.Write("Sınıf Ortalaması = "
+ (Sort / ogrenci));
Console.ReadKey();
}
Örnek: Klavyeden Girilen Sayılar İçinde En Büyüğü Bulan
Programın Akış Diyagramı
{
Console.Write("Lütfen Kaç Sayı Girmek
İstediğinizi Giriniz = ");
int adet =
Convert.ToInt16(Console.ReadLine());
int sayac = 0;
int enbuyuk = 0;
int sayi;
do
{
Console.Write(sayac + 1 + ". Sayı =
");
sayi = Convert.ToInt16(Console.ReadLine());
if (sayi > enbuyuk)
enbuyuk = sayi;
sayac++;
}
while (sayac < adet);
Console.WriteLine("Girdiğiniz Sayılar
İçinde En Büyüğü = " + enbuyuk);
Console.ReadKey();
}
Örnek: For döngüsünden herhangi bir anda çıkış
için break komutunu kullanabiliriz. Mesela yukarıdaki örnek için sayı 10
olduğunda döngüden çıksın.
static
void Main(string[] args)
{
int
tektoplam=0,cifttoplam=0;
for (int
i = 0; i <= 100; i++)
{
if (i % 2
== 1) tektoplam += i;
else
cifttoplam += i;
if
(i==10) break;
}
Console.WriteLine("Tek
Sayıların Toplamı = {0}", tektoplam);
Console.WriteLine("Çift
Sayıların Toplamı = {0}", cifttoplam);
Console.ReadKey();
}
Örnek: Klavyeden girilen bir metnin tekrar klavyeden
girilen bir sayı kadar tekrar etmesi
class
Program
static
void Main(string[] args)
string
mesaj;
int sayi;
Console.Write("
Yazdırılacak Mesaj = ");
mesaj =
Console.ReadLine();
Console.Write("Kaç
Kere Yazdırılsın = ");
sayi =
Convert.ToInt32(Console.ReadLine());
for (int
i = 0; i < sayi; i++)
Console.WriteLine(mesaj);
Console.ReadLine();
Dizi oluşturma-Diziye değer girme-Diziyi yazdırma C# Console
Dizi
Tanımlama İşlemi: Saklanacak
veriler çok fazla ise dizi kullanılır. Mesela 30 kişilik bir sınıfı isimlerini,
notlarını almak istiyoruz. Bunun için değişken kullanmak istersek 30 isimler
,30′da notlar için 60 tane değişken kullanmamız gerekecek. Bunu bir okul için
yaptığımızı düşünün. İçinden çıkılmaz bir hal alır. İşte bu gibi durumlar için
dizi kullanıyoruz.
Kullanım 1 :
değişken tipi [] değişken adı=new değişken
tipi[eleman sayısı];
Örnek : int[] yazili=new
int[10]; string[] ad=new string[20];
Kullanım 2 : Önce diziyi tanımlayıp daha sonra eleman sayısını
belirtebiliriz.
değişken tipi [] değişken adı;
değişken adı=new değişken tipi[eleman sayısı]
Örnek:
string [] Gunler = new string[7];
Gunler[0] = “Pazartesi”;
Gunler[1] = “Salı”;
Gunler[3] = “Çarşamba”
-
- -
Gunler[6] = “Cumartesi”
veya
string[] Gunler = {“Pazartesi”, “Salı”,
“Çarşamba”,
“Perşembe”, “Cuma”, “Cumartesi”};
Örnek :
int[] yazili;
yazili=new int[10];
string[] ad;
ad=new string[20];
Örnek: Klavyeden
girilen 5 şehri önce diziye kaydedelim,Daha sonra dizi
elemanlarını ekrana yazdıralım.
class Program
{
static void Main(string[] args)
{
string[] sehir = new string[5];
for (int i = 0; i < 5; i++)
{
Console.Write("Şehir giriniz = ");
sehir[i] = Console.ReadLine();
}
for (int i = 0; i <5; i++)
{
Console.WriteLine("{0}", sehir[i]);
}
Console.ReadKey();
}
}
Örnek: Yukarıdaki
örnekte diziyi ekrana yazdırırken for döngüsünde bitiş değerini
dizinin lenght özelliği ile belirleyelim.
class Program
{
static void Main(string[] args)
{
string[] sehir = new string[5];
for (int i = 0; i < 5; i++)
{
Console.Write("Şehir giriniz = ");
sehir[i] = Console.ReadLine();
}
for (int i = 0; i <sehir.Length; i++)
{
Console.WriteLine("{0}", sehir[i]);
}
Console.ReadKey();
}
İç-İçe Döngüler C# Console
İç-İçe Döngüler : Birden
fazla döngünün iç içe kullanılmasıdır.
Örnek: Klavyeden
girilen sayıya kadar olan sayıların faktöriyellerini hesaplayıp ekrana yazdıran
programın kodlarını yazalım.
class Program
{
static void Main(string[] args)
{
int sayi,fak=1;
Console.Write("Sayı giriniz = ");
sayi = int.Parse(Console.ReadLine());
for (int i = 1; i <=sayi; i++)
{
fak = 1;
for (int j = 1; j <= i ; j++)
{
fak *= j;
}
Console.WriteLine("{0} sayısının faktöriyeli = {1}",i,fak);
}
Console.ReadKey();
}
}
Örnek
: Aşağıdaki çıktıyı elde eden kodları yazalım.Bunun için iç içe
üç tane for döngüsü kullanmalıyız.
class Program
{
static void Main(string[] args)
{
for (int i=1; i <3; i++)
{
for (int j=1; j<4; j++)
{
for (int k=1; k<4; k++)
{
Console.WriteLine(i.ToString() + j.ToString() + k.ToString());
}
}
}
Console.ReadKey();
}
}
Örnek: Yukarıdaki örnekte
diziyi ekrana yazarken foreach kullanalım.
class Program
{
static void Main(string[] args)
{
string[] sehir = new string[5];
for (int i = 0; i < 5; i++)
{
Console.Write("Şehir giriniz = ");
sehir[i] = Console.ReadLine();
}
foreach (string i in sehir)
{
Console.WriteLine("{0}",i);
}
Console.ReadKey();
}
}
Dizilerde arama C# Console
Dizilerde arama
: Dizlerde
arama işlemi için Array sınıfının IndexOf metodu kullanılır.
Array. IndexOf:
Belirtilen değerin dizi içinde olup olmadığını öğrenmek için
kullanılır.Belirtilen değer var ise geriye sıra numarasını döndürür,yok
ise -1 değerini döndürür.
Kullanım 1: Array.IndexOf(dizi adı,değer)
Örnek : Array.IndexOf(sayilar,3); //sayilar dizisi içinde
3 sayısı var ise sıra numarasını , yok ise -1 değerini
döndürür.
Kullanım 2: Array.IndexOf(dizi adı,değer,kaçıncı
elemandan itibaren)
Not: Dizinin
ilk elemanın 0.eleman olduğunu untmayın.
Örnek : Array.IndexOf(sayilar,2,3);
Örnek : Klavyeden girilen ismin dizide olup olmadığını
ekrana yazan programın kodlarını yazalım.
class Program
{
static void Main(string[] args)
{
string[] isimler = {"ali","veli","selim","ayşe","cansu"};
string girilen;
Console.Write("Aradığınız ismi giriniz = ");
girilen = Console.ReadLine();
if (Array.IndexOf(isimler, girilen) == -1) Console.Write(" Aradığınız isim bulunamadı");
else Console.Write("Aradığınız isim bulundu");
Console.ReadKey();
}
}
Dizilerde
sıralama C# Console
Dizilerde sıralama : İç içe for döngüsüyle dizilerdeki elemanları
sıralayabiliriz.
Örnek: Klavyeden girilen 10 sayıyı küçükten
büyüğe sıralayan programın kodlarını
yazalım.
class
Program
{
static
void Main(string[] args)
{
int[]
sayilar = new int[10];
int
gecici;
for (int
i = 0; i < 10; i++)
{
Console.Write("Sayı
giriniz = ");
sayilar[i]
=int.Parse(Console.ReadLine());
}
for (int
i = 0; i < 10; i++)
{
for (int
j = i+1; j < 10; j++)
{
if
(sayilar[j]<sayilar[i])
{
gecici =
sayilar[i];
sayilar[i]
= sayilar[j];
sayilar[j]
= gecici;
}
}
}
foreach
(int i in sayilar)
{
Console.WriteLine("{0}",i);
}
Console.ReadKey();
}
}
Not : Eğer küçükten büyüğe değilde
büyükten küçüğe sıralama işlemi yapmak istiyorsanız if
(sayilar[j]<sayilar[i]) kodu yerine if (sayilar[j]>sayilar[i])
kodunu kullanmalısınız.
*** Sıralama işlemini Array sınıfının
short metodunu kullanarakta yapabilirsiniz.
Array. Sort: Belirtilen dizinin küçükten büyüğe sıralanmasını
sağlar.
Kullanım 1: Array.Sort(dizi adı)
Örnek : Array.Sort(sayilar);
Kullanım 2: Array.Sort(dizi adı,Kaçıncı
elemandan itibaren,kaç elaman)
Not: Dizinin ilk elemanın 0.eleman
olduğunu unutmayın.
Örnek : Array.Sort(sayilar,2,3); // sayilar dizisini 2.
elemandan itibaren 3 elamanını küçükten büyüğe sıralar.
Array.Reverse : Belirtilen dizinin sıralama olarak ters
çevrilmesini sağlar.
Kullanım 1: Array.Reverse(dizi adı)
Örnek : Array.Reverse(sayilar);
Kullanım 2: Array.Reverse(dizi adı,Kaçıncı elemandan
itibaren,kaç elaman)
Not: Dizinin ilk elemanın 0.eleman olduğunu
unutmayın.
Örnek : Klavyeden girilen 10 sayıyı küçükten büyüğe
sıralayan programın kodlarını
yazalım.
class
Program
{
static
void Main(string[] args)
{
int[]
sayilar = new int[10];
for (int
i = 0; i < 10; i++)
{
Console.Write("Sayı
giriniz = ");
sayilar[i]
=int.Parse(Console.ReadLine());
}
Array.Sort(sayilar);
foreach
(int i in sayilar)
{
Console.WriteLine("{0}",i);
}
Console.ReadKey();
}
}
Not : Eğer küçükten büyüğe değilde büyükten küçüğe
sıralama işlemi yapmak istiyorsanız Array.Sort(sayilar); kodundan
sonra Array.Reverse(sayilar); kodunuda eklemelisniz.
Dinamik diziler C# Console
Dinamik diziler : Eleman sayısı kullanıcı tarafından belirlenen
dizilerdir.
Örnek
: Klavyeden
girilen dizi boyutu kadar sayı girişi sağlayan ve bu sayıları küçükten büyüğe
sıralayıp ekrana yazdıran programın kodlarını yazalım.
class Program
{
static void Main(string[] args)
{
int boyut;
Console.Write("Dizi boyutunu giriniz = ");
boyut = int.Parse(Console.ReadLine());
int[] sayilar = new int[boyut];
for (int i = 0; i < sayilar.Length; i++)
{
Console.Write("Sayı giriniz = ");
sayilar[i] =int.Parse(Console.ReadLine());
}
Array.Sort(sayilar);
foreach (int i in sayilar)
{
Console.WriteLine("{0}",i);
}
Console.ReadKey();
}
}
Örnek : 4*3 Matris ile 3*4 Matrisin Çarpımı C# Console
class
Program
{
static
void Main(string[] args)
{
int[,] m1
= { { 1, 1, 5, 3 }, { 4, 1, 6, 7 }, { 2, 9, 10, 3 } };
int[,] m2
= { { 2, 1, 2 }, { 3, 6, 2 }, { 6, 7, 8 }, { 9, 3, 7 } };
int[,]
sonuc = new int[4, 4];
for (int
k = 0; k < 4; k++)
{
for (int
i = 0; i < 4; i++)
{
for (int
j = 0; j < 3; j++)
sonuc[k,
i] += m2[k, j] * m1[j, i];
}
}
for (int
i = 0; i < 4; i++)
{
Console.WriteLine();
for (int
j = 0; j < 4; j++)
Console.Write("{0}\t",
sonuc[i, j]);
}
Console.ReadKey();
}
}
Hiç yorum yok:
Yorum Gönder