255

Toplamda 40 adet C# örnek soru ve çözümü soruların C# ile dizi, döngü, karar yapıları ,string metotlar ve metot kullanımı konularını kapsıyor.

Sorular ile alakalı anlaşılmayan veya çözümünde sıkıntı olan varsa yorum bölümünden sorabilirsiniz…

1 ) Aynı firmada çalışan (Ahmet ve Hasan) iki işçiden birincisinin (Ahmet’in) aylık ücreti bir ay %50 artmakta, sonraki ay %25 azalmaktadır. Diğerinin (Hasan’ın) ise ücreti her ay %25 artmaktadır. Her ikisinin de yılbaşındaki başlangıç ücretleri ve hesaplanacak ay bilgisi klavyeden girildikten sonra ay ay ücretlerinin ne olacağını ve en sonunda hangi işçinin daha fazla (veya eşit) ücret alacağını hesaplayan programı yazınız.

double ahmetMaas = 0, hasanMaas = 0, ekUcret = 0;
int kacAy = 0;
Console.Write(Ahmet'in Başlangıç Maaşı : );
ahmetMaas = Convert.ToDouble(Console.ReadLine());
Console.Write(Hasan'ın Başlangıç Maaşı : );
hasanMaas = Convert.ToDouble(Console.ReadLine());
Console.Write(Kaç Ay Sürecek : );
kacAy = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i <= kacAy; i++)
{

if (i % 2 == 0)
{
//ahmetin para artacak
ekUcret = ahmetMaas * 0.5 ;
ahmetMaas += ekUcret;

}
else {
//ahmetin para azalacak
ekUcret = ahmetMaas * 0.25;
ahmetMaas -= ekUcret;

}

//hasanınki her türlü artacak

ekUcret = hasanMaas * 0.25;
hasanMaas += ekUcret;

Console.WriteLine({0}. Ayın Sonunda Ahmetin Maaşı : {1}, Hasanın Maaşı {2},i+1,ahmetMaas,hasanMaas);
}
if(ahmetMaas&gt;hasanMaas) Console.WriteLine(Sonuç Olarak {0} Ay Sonunda Ahmet, Hasandan Daha Fazla Maaş Almaktadır.,kacAy);
else if (ahmetMaas == hasanMaas) Console.WriteLine(Sonuç Olarak {0} Ay Sonunda Ahmet ve Hasandan Eşit Fazla Maaş Almaktadır., kacAy);
else Console.WriteLine(Sonuç Olarak {0} Ay Sonunda Hasan, Ahmetten Daha Fazla Maaş Almaktadır., kacAy);

2) Toplama işlemini öğretmeye çalışan bir oyun programı yazılacaktır. Oyun başladığı zaman rastgele 2 tane 1-100 arasında sayı tutulacak, tutulan sayılar ekrana gösterilecek ve kullanıcıya bu sayıların toplamı nedir diye sorulacaktır. Eğer kullanıcı doğru cevap verirse “Tebrikler Bildiniz” değil ise “Üzgünüm Bilemediniz” diye mesaj verecektir. Her cevaptan sonra “Tekrar Oynamak istiyormusunuz(e/E)?” şeklinde bir soru sorulacak ve eğer kullanıcı “e” veya “E” ile karşılık verirse oyun tekrar başlayacaktır. Kullanıcının puanı her doğru cevap için 5 puan artacak, her yanlış cevap için ise 2 puan azalacaktır. Oyun sonlandığında kullanıcının verdiği doğru cevap sayısı, yanlış cevap sayısı ve puanı ekranda listelenmelidir. Bu işlemleri yapan programın kodlarını yazınız.

Random rnd = new Random();
int ilkSayi = 0, ikinciSayi = 0, toplamPuan = 0, sayilarinToplami = 0, girilenCevap = 0, dogruCevapSayisi = 0, yanlisCevapSayisi=0;
char devam;
do
{

ilkSayi = rnd.Next(1, 100);
ikinciSayi = rnd.Next(1, 100);
sayilarinToplami = ilkSayi + ikinciSayi;
Console.WriteLine("{0} + {1} = ?",ilkSayi,ikinciSayi);
Console.Write("Cevabınız : ");
girilenCevap = Convert.ToInt32(Console.ReadLine());
if (girilenCevap == sayilarinToplami)
{
Console.WriteLine("Tebrikler Bildiniz");
toplamPuan += 5;
dogruCevapSayisi += 1;
}
else {
Console.WriteLine("Üzgünüm Bilemediniz");
toplamPuan -= 2;
yanlisCevapSayisi += 1;
}
Console.Write("Tekrar Oynamak istiyormusunuz(e/E)?");
devam = Convert.ToChar(Console.ReadLine());

} while (devam=='E' || devam=='e');

Console.WriteLine("Toplam Doğru Cevap Sayınız {0}, Yanlış Cevap Sayınız {1}, Toplamda Almış Olduğunuz Puan {2}",dogruCevapSayisi,yanlisCevapSayisi,toplamPuan);

3 ) Bir otoparka park eden taksinin 1 saati 5TL, minibüsün 1 saati 6TL, ticari aracın 1 saati 6.5TL dir. Taksi 1 saatten sonraki her saat başı için %20 daha fazla, minibüs 1 saatten sonraki her saat başı için toplamda %21.5 ve ticari araç 1 saatten sonraki her saat başı için toplamda %25 daha fazla ödeme yapmaktadır. Buna göre klavyeden girilen araba tipi ve kalınan saat bilgisi girildikten sonra ekrana ödenecek otopark ücretini hesaplayan programın kodlarını yazınız.

double odenecekTutar = 0;
int kalinanSure = 0, aracTipi = 0;
Console.WriteLine("Araç Tipleri Taksi : 1, Minübüs : 2, Ticari : 3");
Console.Write("Lütfen Araç Tipini Giriniz : ");
aracTipi = Convert.ToInt32(Console.ReadLine());
Console.Write("Kalınan Süreyi Giriniz : ");
kalinanSure = Convert.ToInt32(Console.ReadLine());
if (kalinanSure > 1)
{
for (int i = 1; i <= kalinanSure; i++)
{
if (i == 1) {
if (aracTipi == 1) { odenecekTutar = i * 5; }
else if (aracTipi == 2) { odenecekTutar = i * 6; }
else if (aracTipi == 3) { odenecekTutar = i * 6.5; }
}
else {

kalinanSure -= 1;
if (aracTipi == 1) { odenecekTutar+= kalinanSure * 5 * 1.20; }
else if (aracTipi == 2) { odenecekTutar+= kalinanSure * 6 * 1.215; }
else if (aracTipi == 3) { odenecekTutar+= kalinanSure * 6.5 * 1.25; }
}
}

}

else {

if (aracTipi == 1) { odenecekTutar = kalinanSure * 5; }
else if (aracTipi == 2) { odenecekTutar = kalinanSure * 6; }
else if (aracTipi == 3) { odenecekTutar = kalinanSure * 6.5; }

}
Console.WriteLine("Ödenecek Tutar : {0} TL",odenecekTutar);

4 ) Meteoroloji merkezi için bir program tasarlanılması istenilmiştir. Programın çalışma şekli ise şöyle olmalıdır:
a. İlk önce hangi ay için sıcaklık bilgisi girileceği kullanıcıya sorulacaktır.
b. Girilen ay bilgisine uygun olarak o ayda kaç tane gün var ise kullanıcıdan gün sayısı kadar sıcaklık bilgisi girilmesi istenilecektir(ġubat ayı için gün sayısını 28 alınız).
c. Sıcaklık veri girişi bittikten sonra o ayın sıcaklık ortalaması ve en düşük sıcaklık bilgisi ekrana yazdırılacaktır. Bu işlemden sonra program sonlanacaktır.
Örnek Çıktı: Şubat Ayına ait Ortalama Sıcaklık=15,6 derecedir ve En düşük sıcaklık 6.Gün=10,1 derecedir.

string hangiAy;
int gunSayisi = 30, enDusukGun = 0;
double gunlukSicaklik = 0, ayToplami = 0, ayOrtalamasi = 0, enDusuk = 999999;
Console.Write("Hangi Ay Bilgisi Girilecek : ");
hangiAy = Console.ReadLine();
if (hangiAy == "şubat" || hangiAy == "Şubat") {gunSayisi = 28;}

for (int i = 0; i < gunSayisi; i++)
{
Console.Write("{0}. Güne Ait Sıcaklık Değeri : ",i+1);
gunlukSicaklik = Convert.ToDouble(Console.ReadLine());
if (gunlukSicaklik < enDusuk) { enDusuk = gunlukSicaklik; enDusukGun = i + 1; }
ayToplami += gunlukSicaklik;

}
ayOrtalamasi = ayToplami / gunSayisi;
Console.WriteLine("{0} Ayına Ait Sıcaklık Ortalaması {1} Derecedir. En Düşük Sıcaklık {2}. Gün = {3} Derecedir.",hangiAy,ayOrtalamasi,enDusukGun,enDusuk);

5) Klavyeden girilen bir cümleyi şifreleyen program yazılacaktır. Kullanıcı bir cümle girdikten sonra enter tuşuna bastıktan sonra ilk önce girilen cümle tekrar ekrana yazdırılacak sonra ise cümle tersten şifreli olarak ekrana yazdırılacaktır. Tersten ekrana yazdırılır iken a yerine ?, e yerine *, i veya ı yerine =, ö veya o yerine & ve ü veya u yerine + karakterleri kullanılacaktır. Cümlede kaç tane karakter şifrelendi, kaç tanesi şifrelenmedi bilgisi de ekrana yazdırılacaktır.

string cumle; char harf;
Console.Write("Cümleyi Giriniz : ");
cumle = Console.ReadLine();
Console.WriteLine("Girilen Cümele : {0}", cumle);
Console.Write("Şifreli Hali : ");
int sifreli=0;
for (int i = cumle.Length - 1; i >= 0; i--)
{
harf = cumle[i];
if (harf == 'a') { harf = '?'; sifreli++; }
if (harf == 'e') {harf = '*';sifreli++; }
if (harf == 'ı' || harf == 'i') {harf = '=';sifreli++; }
if (harf == 'ö' || harf == 'o') {harf = '&';sifreli++; }
if (harf == 'u' || harf == 'ü') {harf = '+';sifreli++; }
if (i == 0) Console.WriteLine("{0}", harf);
else Console.Write("{0}", harf);
}
Console.WriteLine("Toplam {0} tane harf şifrelendi {1} tanesi şifrelenmedi", sifreli, cumle.Length - sifreli);
Console.ReadKey();

6 ) Klavyeden girilen bir cümledeki kelime sayısını bulunuz.


string cumle;
Console.Write("Cumleyi Girin : ");
cumle = Console.ReadLine();
string[] kelimeler = cumle.Split(' ');
Console.WriteLine(kelimeler.Length);

7 ) Klavyeden girilen cümleyi tersten ekrana yazdırınız.


string cumle;
Console.Write("Cumleyi Girin : ");
cumle = Console.ReadLine();
for (int i = cumle.Length-1; i >= 0; i--)
{
Console.Write(cumle[i]);
}

8 ) Üç katlı bir bina her katında iki daire var klavyeden her dairede bulunan kişi sayısını girdikten sonra binada kaç kişi olduğunu hesaplayan programın kodlarını yazın.

int[,] dizi = new int[3, 2];
int toplamKisi = 0, evdekiKisi = 0;
for (int i = 0; i < dizi.GetLength(0); i++)
{
for (int y = 0; y < dizi.GetLength(1); y++)
{

Console.Write("{0}. Kat {1}. Dairedeki Kişi sayısını Giriniz : ",i+1,y+1);
evdekiKisi = Convert.ToInt32(Console.ReadLine());
toplamKisi += evdekiKisi;
}
}
Console.WriteLine("Toplam Kişi Sayısı : {0}",toplamKisi);

9) Bir komisyoncu sattığı mallardan fiyatı 50 TL kadar olanlardan %3, daha fazla olanlardan ise %2 komisyon almaktadır. Klavyeden girilen teker teker girilen 5 malın komisyonlarını bulup ekrana yazdıran ve en sonunda da toplam komisyonu ekrana yazdıran programın kodlarını yazınız.

double malFiyati = 0, komisyonMiktari = 0,toplamKomisyon=0;
for (int i = 0; i < 5; i++)
{
Console.Write("{0}. Malın Fiyatını Giriniz : ",i+1);
malFiyati = Convert.ToDouble(Console.ReadLine());
if (malFiyati > 50) komisyonMiktari = malFiyati * 0.02;
else komisyonMiktari = malFiyati * 0.03;
Console.WriteLine("{0}. Mal İçin Komisyon Miktarı : {1}",i+1,komisyonMiktari);
toplamKomisyon += komisyonMiktari;
}
Console.WriteLine("Toplam Komisyon Miktarı : {0}",toplamKomisyon);

10 ) Klavyeden girilen sayıları okuyan ve sayıların toplamı 21′den büyük veya eşit olduğu zaman duran programın kodlarını yazınız.

double sayilar = 0, sayiToplami=0;
do
{
Console.Write("Sayıyı Giriniz : ");
sayilar = Convert.ToDouble(Console.ReadLine());
sayiToplami += sayilar;

} while (sayiToplami<21);
Console.WriteLine("Toplamda Sayılar {0} Rakamına Ulaştı. Yeter Bu Kadar.",sayiToplami);

11 ) Elemanları tam sayı olan bir A dizisinin(20 elemanlı) rastgele sayılar atayan, sonra dizi elemanlarının aritmetik ortalamasını hesaplayan ve elemanlardan kaç tanesinin bu ortalamadan büyük ve küçük olduğunu sayan programın c# kodlarını yazınız.

int[] dizi = new int[20];
Random rnd = new Random();
int diziToplami = 0,ortalamadanBuyuk=0,ortalamadanKucuk=0;
double diziOrtalamasi = 0;
for (int i = 0; i < dizi.Length; i++)
{
dizi[i] = rnd.Next(1, 1000);
diziToplami += dizi[i];
}
diziOrtalamasi = diziToplami / 20;
foreach (int dizim in dizi)
{
if (dizim > diziOrtalamasi) ortalamadanBuyuk += 1;
else ortalamadanKucuk += 1;

}
Console.WriteLine("Ortalama : {0}. Ortalamadan Büyük Eleman Sayısı : {1}, Ortalamadan Küçük Eleman Sayısı : {2}",diziOrtalamasi,ortalamadanBuyuk,ortalamadanKucuk);

12 ) Sadece 1(bir) e ve kendisine bölünebilen sayılara asal sayı denir. 1 den klavyeden girilecek sayıya kadar asal sayıları bulan programın kodlarını yazınız.

int girilenSayi = 0;
Console.Write("1 den Hangi Sayıya Kadar Kontrol Edilecek : ");
girilenSayi = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= girilenSayi; i++)
{
int sayac = 0;
for (int y = 1; y <= girilenSayi; y++)
{
if (i % y == 0) sayac += 1;

}
if (sayac == 2) Console.WriteLine("{0} Asal Sayıdır.", i);

}

13 ) Parametre olarak yollanan bir sayının asal sayı olup olmadığını geriye döndüren bir metot yazınız. Eğer sayı asal ise geriye “true” değil ise “false” değeri döndürülecektir.

static bool AsalSayimi(int sayi) {
bool sonuc;
int sayac = 0;
for (int i = 1; i <= sayi; i++)
{
if (sayi%i==0)
{
sayac += 1;
}

}
if (sayac == 2) sonuc = true;
else sonuc = false;
return sonuc;
}

static void Main(string[] args)
{
bool sonuc = AsalSayimi(10);
if (sonuc) Console.WriteLine("Asal Sayı");
else Console.WriteLine("asal sayı değil");
}

14 ) Kendisine parametre olarak gelen cümle içinde yine kendisine parametre olarak gelen kelimeyi arayıp ve eğer kelime var ise geriye true, yok ise false değeri döndüren KelimeVarmi adında metodu yazınız

static bool KelimeVarmi(string cumle,string kelime)
{
bool sonuc;
sonuc = false;
string[] kelimeler = kelime.Split(' ');
foreach (string kelimem in kelimeler)
{
if (kelimem == kelime) sonuc = true;
break;
}
return sonuc;
}

static void Main(string[] args)
{
bool sonuc = KelimeVarmi("osman bizi ışınla","bizi");
if (sonuc) Console.WriteLine("Var");
else Console.WriteLine("YOK");
}

15 ) Kendisi hariç bütün pozitif çarpanları (tam bölenleri) toplamı, yine kendisine eşit olan sayılara “mükemmel sayı” denir. Örneğin 6=1+2+3 ve 28=1+2+4+7+14 gibi. Buna göre klavyeden girilen bir tamsayının “mükemmel sayı” olup olmadığını kontrol eden MukemmelSayi adında bir metot tanımlayınız. Metot eğer sayı mükemmel sayı ise ekrana “Mükemmel Sayıdır” değilse “Mükemmel Sayı DEĞĠLDĠR” yazan programın kodlarını yazınız. ( static void MukemmelSayi(int sayi) )

static void MukemmelSayi(int sayi)
{
int bolenToplami = 0;
for (int i = 1; i < sayi; i++)
{
if (sayi%i==0)
{
bolenToplami += i;
}
}
if (sayi == bolenToplami) Console.WriteLine("mükemmel sayı");
else Console.WriteLine("mükemmel say değil");
}

static void Main(string[] args)
{
MukemmelSayi(6);
}

16 ) Kendisine parametre olarak yollanan dizide kaç tane tek sayı var ise onun âdetini döndüren metodu yazınız.

static void KacTaneTek(int sayi)
{
int tekSayisi = 0;
for (int i = 1; i <= sayi; i+=2)
{
tekSayisi += 1;
}
Console.WriteLine(tekSayisi);

}

static void Main(string[] args)
{
KacTaneTek(12);
}

17 ) Bir boyutlu dizideki en küçük elemanı ve en büyük elemanı bulan programı yazınız

int[] dizi = new int[10];
Random rnd = new Random();
int enKucukEleman = 9999, enBuyukEleman = 1;
for (int i = 0; i < dizi.Length; i++)
{
dizi[i] = rnd.Next(1, 1000);

}

foreach (int eleman in dizi)
{
if (eleman > enBuyukEleman) enBuyukEleman = eleman;
if (eleman < enKucukEleman) enKucukEleman = eleman;
}
Console.WriteLine("En Büyük Eleman : {0}",enBuyukEleman);
Console.WriteLine("En Küçük Eleman : {0}",enKucukEleman);

18 ) Eleman sayısı klavyeden girilerek bir sayısal dizi oluşturulacaktır. Diziye 0-1000 arasında rastgele tek ve 5(beş) in katlarında değer atanacaktır. Diziye değer atandıktan sonra dizi elemanları ekrana yazdırılacaktır. Bu işlemin kodları yazınız.

int elemanSayisi = 0, sonuc = 0, rastgeleSayi = 0;
Console.Write("Dizinin Eleman Sayısını Girin : ");
elemanSayisi = Convert.ToInt32(Console.ReadLine());
int[] dizi = new int[elemanSayisi];
Random rnd = new Random();
for (int i = 0; i < dizi.Length; i++)
{
sonuc = 0;
do
{
rastgeleSayi = rnd.Next(0, 1000);
if (rastgeleSayi % 2 != 0 && rastgeleSayi % 5 == 0)
{
dizi[i] = rastgeleSayi;
sonuc = 1;
}

} while (sonuc!=1);

Console.WriteLine(dizi[i]);
}

19 ) carpimTablosu(int carpan, int adim) => carpim(5,6);
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 6×5=30


static void CarpimTablosu(int carpan,int adim) {

int sonuc = 0;
for (int i = 1; i <= adim; i++)
{

sonuc = i * carpan;
Console.WriteLine("{0}x{1}={2}",i,carpan,sonuc);
}

}

static void Main(string[] args)
{

CarpimTablosu(5,6);

}

20 ) 20 satır 100 sütundan oluşan iki boyutlu sayısal diziye 0-100 arasında rastgele sayılardan değer atanacaktır. Değer atandıktan sonra her bir satırdaki elemanların toplamını bulup ekrana yazdıran programı yazınız.


int[,] dizi = new int[20, 100];
Random rnd = new Random();
for (int i = 0; i < 20; i++)
{
int satirToplami = 0;
for (int j = 0; j < 100; j++)
{
dizi[i, j] = rnd.Next(0, 100);
satirToplami += dizi[i, j];
}
Console.WriteLine(satirToplami);
}

21 ) 20 öğrenciye ait Vize ve Final bilgileri rastgele atandıktan sonra, her bir öğrencinin ortalamasını hesaplanacak ve ekrana eğer öğrenci 70 ve üzeri ise “Geçti”, değilse “Kaldı” yazacak programı çok boyutlu dizi kullanarak yazınız.

int satirSayisi = 0, sutunSayisi = 0, sutunToplami, enKucukSutunToplami = 999999, enKucukSutun = 0;
Console.Write("Satir sayisini Giriniz : ");
satirSayisi = Convert.ToInt32(Console.ReadLine());
Console.Write("sütün sayısını giriniz : ");
sutunSayisi = Convert.ToInt32(Console.ReadLine());
int[,] dizi = new int[satirSayisi, sutunSayisi];
Random rnd = new Random();

for (int i = 0; i < sutunSayisi; i++)
{
sutunToplami = 0;
for (int j = 0; j < satirSayisi; j++)
{

dizi[j, i] = rnd.Next(0, 100);
sutunToplami += dizi[j,i];
}
if (sutunToplami < enKucukSutunToplami) { enKucukSutunToplami = sutunToplami; enKucukSutun = i + 1; }

}
Console.WriteLine("En Küçük Sütün : {0} | Toplamı ise {1}",enKucukSutun,enKucukSutunToplami);

22 ) Değişken sayıda parametre yollanabilen EnUzunCumle adındaki metot, kendisine yollanan cümlelerden en fazla kelimesi olan cümleyi ekrana yazıp geriye cümlenin kelime sayısını döndürecektir. Bu işlemi yapan metodu tanımlayıp kodlarını yazınız.
Örnek: EnUzunCumle(“merhaba arkadaşlar”,”bugün hava çok güzel”); > geriye 4 döndürecek EnUzunCumle(“yarın hava çok sıcak olacak”,”ali eve gel”,”şampiyon beşiktaş”); > geriye 5 döndürecek

static int EnUzunCumle(params string[] gelCumlem) {
int cumleSayisi = gelCumlem.Length, enCokKelimeSayisi = 0, enkIndex = 0, kelimeSayisi = 0;
for (int i = 0; i < cumleSayisi; i++)
{
string[] kelimeler = gelCumlem[i].Split(' ');
kelimeSayisi = kelimeler.Length;
if (kelimeSayisi > enCokKelimeSayisi) {
enCokKelimeSayisi = kelimeSayisi;
enkIndex = i;
}

}
Console.WriteLine("En Çok Kelime "{0}" Cümlesinde Yer Alıp Toplam Kelime Sayısı {1}.",gelCumlem[enkIndex],enCokKelimeSayisi);
return kelimeSayisi;
}
static void Main(string[] args)
{

EnUzunCumle("osman bizi ışınla","makina soğuk","peki zeki mürende bizi görecek mi");

}

23 ) Karistir adındaki metoda parametre olarak yollanan sayısal bir boyutlu dizinin elemanlarının hepsinin yerlerini rastgele değiştirip geri döndüren metodu yazınız

static int Karistir(params int[] dizimiz) {
int diziElemanSayisi = 0;
diziElemanSayisi = dizimiz.Length;
int[] yeniDizi = new int[diziElemanSayisi];
Random rnd = new Random();
for (int i = 0; i < diziElemanSayisi; i++)
{

if (i == 0) { yeniDizi[i] = dizimiz[rnd.Next(0, diziElemanSayisi)]; }
else {
int sonuc = 0;
do
{
int rastgeleGelen = 0, sayac = 0;
rastgeleGelen = dizimiz[rnd.Next(0, diziElemanSayisi)];

foreach (int diziEleman in yeniDizi)
{
if (diziEleman == rastgeleGelen)
{
sayac += 1;
break;
}

}
if (sayac == 0) {
yeniDizi[i] = rastgeleGelen;
sonuc = 1;

}

} while (sonuc!=1);

}
Console.WriteLine(yeniDizi[i]);
}
return diziElemanSayisi;

}
static void Main(string[] args)
{

Karistir(10,20,30,40,50,60,70);
}

24 ) KarelerinToplami(int sayi) adlı kendini çağıran bir metot yazınız. Metot kendisine parametre olarak yollanan sayıdan bire(1) kadar olan sayıların karelerinin toplamını bulup geri döndürecektir. Eğer parametre olarak yollanan sayı 0 veya negatif ise “Hesaplama Ġşlemi Yapılamaz.” ġeklinde bir mesajı ekrana yazdırıp geriye -1 döndürecektir.

static int KarelerinToplami(int sayi){
int toplam = 0;
if (sayi < 1) { Console.WriteLine("hesaplama işlemi yapılamaz"); toplam = -1; }
else {
for (int i = 1; i <= sayi; i++)
{
toplam += i * i;
}

}
Console.WriteLine(toplam);
return toplam;
}
static void Main(string[] args)
{

KarelerinToplami(5);
}

28 ) Klavyeden girilen 4 basamaklı bir sayıyı ekrana yazdıran SayiOku(int sayi) adında metot yazınız.
Örnek: SayiOku(9853); > dokuz bin sekiz yüz elli üç

static int SayiOku(int sayi)
{
int toplam = 0, binler = 0, yuzler = 0, onlar = 0, birler = 0, kalanSayi=0;
string binlerOkunusu="", yuzlerOkunusu="", onlarOkunusu="", birlerOkunusu="";
binler = sayi / 1000;
if (binler == 1) binlerOkunusu = "bir";
if (binler == 2) binlerOkunusu = "iki";
if (binler == 3) binlerOkunusu = "üç";
if (binler == 4) binlerOkunusu = "dört";
if (binler == 5) binlerOkunusu = "beş";
if (binler == 6) binlerOkunusu = "altı";
if (binler == 7) binlerOkunusu = "yedi";
if (binler == 8) binlerOkunusu = "sekiz";
if (binler == 9) binlerOkunusu = "dokuz";
kalanSayi = sayi - binler * 1000;
yuzler = kalanSayi / 100;
if (yuzler == 1) yuzlerOkunusu = "bir";
if (yuzler == 2) yuzlerOkunusu = "iki";
if (yuzler == 3) yuzlerOkunusu = "üç";
if (yuzler == 4) yuzlerOkunusu = "dört";
if (yuzler == 5) yuzlerOkunusu = "beş";
if (yuzler == 6) yuzlerOkunusu = "altı";
if (yuzler == 7) yuzlerOkunusu = "yedi";
if (yuzler == 8) yuzlerOkunusu = "sekiz";
if (yuzler == 9) yuzlerOkunusu = "dokuz";
kalanSayi = kalanSayi - yuzler * 100;
onlar = kalanSayi / 10;
if (onlar==1) onlarOkunusu="on";
if (onlar==2) onlarOkunusu="yirmi";
if (onlar==3) onlarOkunusu="otuz";
if (onlar==4) onlarOkunusu="kırk";
if (onlar==5) onlarOkunusu="elli";
if (onlar==6) onlarOkunusu="atmis";
if (onlar==7) onlarOkunusu="yetmiş";
if (onlar==8) onlarOkunusu="seksen";
if (onlar == 9) onlarOkunusu = "doksan";
kalanSayi = kalanSayi - onlar * 10;
birler = kalanSayi;
if (birler == 1) birlerOkunusu = "bir";
if (birler == 2) birlerOkunusu = "iki";
if (birler == 3) birlerOkunusu = "üç";
if (birler == 4) birlerOkunusu = "dört";
if (birler == 5) birlerOkunusu = "beş";
if (birler == 6) birlerOkunusu = "altı";
if (birler == 7) birlerOkunusu = "yedi";
if (birler == 8) birlerOkunusu = "sekiz";
if (birler == 9) birlerOkunusu = "dokuz";
Console.WriteLine("{0} bin {1} yüz {2} {3}",binlerOkunusu,yuzlerOkunusu,onlarOkunusu,binlerOkunusu);
return toplam;
}
static void Main(string[] args)
{

SayiOku(5689);
}

31 ) int[,] DiziSutunSirala([,] dizi,int sutunIndex) metodu ile kendisine parametre olarak yollanan dizideki sütunu küçükten büyüğe sıralayan metodu yazınız.

static int DiziSutunSirala(int[,] dizi,int sutunIndex) {
int[] yeniDizi = new int[dizi.GetLength(1)];
int a = 0;
for (int i = 0; i < dizi.GetLength(1); i++)
{
yeniDizi[i] = dizi[sutunIndex, i];
Console.WriteLine(yeniDizi[i]);

}
Console.WriteLine("-------------------------");
Array.Sort(yeniDizi); // Küçükten Büyüğe Sıraladık
Array.Reverse(yeniDizi); // Ters Çevirdik
for (int i = 0; i < yeniDizi.Length; i++)
{
Console.WriteLine(yeniDizi[i]);
}

return a;

}

static void Main(string[] args)
{

int[,] dizi = new int[5, 5];
dizi[3, 0] = 5;
dizi[3, 1] = 15;
dizi[3, 2] = 65;
dizi[3, 3] = 35;
dizi[3, 4] = 45;
DiziSutunSirala(dizi, 3);
}

32 ) int[] IkiSayiArasindaRastgeleSayilariTut(int baslangicSayisi,int bitisSayisi,int adet) metodu ile kendisine parametre olarak yollanan başlangıç, bitiş aralığında rastgele adet kadar sayı tutup bunları bir dizide geriye döndüren metodu yazınız.

static int IkiSayiArasindaRastgeleSayilariTut(int baslangicSayisi, int bitisSayisi, int adet) {
int[] tutulalar = new int[adet];
Random rnd = new Random();
for (int i = 0; i < adet; i++)
{

if (i == 0) { tutulalar[i] = rnd.Next(baslangicSayisi, bitisSayisi); }
else {
int sonuc = 0, rastgelenSayi = 0; ;
do
{
int sayac = 0;
rastgelenSayi = rnd.Next(baslangicSayisi, bitisSayisi);
foreach (int eleman in tutulalar)
{
if (eleman == rastgelenSayi) { sayac++; break; }
}
if (sayac == 0) { tutulalar[i] = rastgelenSayi; sonuc = 1; }

} while (sonuc!=1);

}

Console.WriteLine(tutulalar[i]);
}

return tutulalar[0];
}
static void Main(string[] args)
{
IkiSayiArasindaRastgeleSayilariTut(10, 20, 6);

}

33 ) Kendisine değişken sayıda parametre olarak yollanan rakamlardan oluşabilecek en büyük ve en küçük sayıları oluşturup geriye döndüren int BuyukSayi(………) ve int KucukSayi(……) adındaki metotları yazınız.
Örnek: BuyukSayi(1,5,3,7,8,2,9) > 9875321 KucukSayi(1,5,3,7,8,2) > 123578

static int BuyukSayi(params int[] dizi)
{
int buyuksun = 0;
Array.Sort(dizi); Array.Reverse(dizi);
foreach (int eleman in dizi)
{

Console.Write(eleman);
}

return buyuksun;

}
static int KucukSayi(params int[] dizi)
{
int kucuksun = 0;
Array.Sort(dizi);
foreach (int eleman in dizi)
{

Console.Write(eleman);
}

return kucuksun;

}

static void Main(string[] args)
{
BuyukSayi(1,2,3,4,5,6);

KucukSayi(1, 2, 3, 4, 5, 6);

}

34 ) SutunDegistir([,] dizi,int birinciSutun,int ikinciSutun) metodu ile kendisine parametre olarak yollanan dizideki sütunlardaki elamanları yer değiştiren metodu yazınız.

static void SutunDegistir(int[,] dizi,int birinciSutun,int ikinciSutun)
{
birinciSutun -= 1;
ikinciSutun -= 1;

for (int i = 0; i < dizi.GetLength(0); i++)
{
for (int j = 0; j < dizi.GetLength(1); j++)
{
if (j == dizi.GetLength(1) - 1) { Console.WriteLine(dizi[i, j]); }
else { Console.Write("{0} ",dizi[i, j]); }
}
}

int[] bir = new int[dizi.GetLength(1)];
int[] iki = new int[dizi.GetLength(1)];
for (int i = 0; i < bir.Length; i++)
{
bir[i] = dizi[i, birinciSutun];
iki[i] = dizi[i, ikinciSutun];
dizi[i, ikinciSutun] = bir[i];
dizi[i, birinciSutun] = iki[i];
}
Console.WriteLine("--------------------------");
for (int i = 0; i < dizi.GetLength(0); i++)
{
for (int j = 0; j < dizi.GetLength(1); j++)
{
if (j == dizi.GetLength(1) - 1) { Console.WriteLine(dizi[i, j]); }
else { Console.Write("{0} ", dizi[i, j]); }
}
}

}
static void Main(string[] args)
{
int[,] dizi = new int[5,5];
Random rnd = new Random();
for (int i = 0; i < dizi.GetLength(0); i++)
{
for (int y = 0; y < dizi.GetLength(1); y++)
{
dizi[i, y] = rnd.Next(10, 100);
}
}
SutunDegistir(dizi, 3, 4);

}

35 ) Kendisine parametre olarak yollanan string iki boyutlu dizinin yine kendisine parametre olarak yollanan iki sütunundaki elemanları bir boyutlu başka bir dizide birleştirerek geriye döndüren metodu yazınız. ( 25 puan )

( string[] SutunlariGeriDondur(string[,] dizi, int birinciSutun, int ikinciSutun) )

static string SutunlariGeriDondur(string[,] dizi,int birinci, int ikinci)
{
string don = "";
birinci -= 1;
ikinci -= 1;
string[] yeniDizi = new string[dizi.GetLength(0) * 2];
for (int i = 0; i < yeniDizi.Length; i++)
{
if (i < dizi.GetLength(0))
{
yeniDizi[i] = dizi[i, birinci];
}
else {

yeniDizi[i] = dizi[i - dizi.GetLength(0), ikinci];
}
Console.WriteLine(yeniDizi[i]);
}

return don;
}
static void Main(string[] args)
{
string[,] dizi = new string[4, 4];
dizi[0, 0] = "ali";
dizi[1, 0] = "ayşe";
dizi[2, 0] = "fatma";
dizi[3, 0] = "hayriye";
dizi[0, 3] = "osman";
dizi[1, 3] = "süleyman";
dizi[2, 3] = "murat";
dizi[3, 3] = "hüso";
SutunlariGeriDondur(dizi, 1, 4);

}

36 ) string KelimeBul(string cumle, int kelimeSirasi) adında bir metot tanımlanacaktır. Metot a parametre olarak bir cümle ve bir sayı yollanacaktır. Metot geriye cümlenin istenilen sıradaki kelimesini geri döndürecektir. Bu özelliklerde KelimeBul adında bir metot tanımlayınız

static string KelimeBul(string cumle,int kelimeSayisi)
{
string don = ""; kelimeSayisi -= 1;
string[] kelimeler = cumle.Split(' ');
Console.WriteLine(kelimeler[kelimeSayisi]);

return don;
}
static void Main(string[] args)
{

KelimeBul("osman bizi ışınla",1);

}

37 ) İki boyutlu 10×10 elamanlı bir dizi tanımlayınız ve diziye 0-255 arasında rastgele değer atandıktan sonra DiziyeEsikDegeriUygula(int[,] gelenDizi,int esikDegeri) metodu ile değer atanan dizi ve 0-255 arasında bir sayı parametre olarak yollanacaktır(esikDegeri). Dizinin her bir elemanı yollanan değer ile kıyaslanacaktır. Eğer dizinin eleman değeri yollanan değerden büyük veya eşit ise eleman değeri 255 yapılacak değil ise 0 yapılacaktır. Bu işlemleri yapan metotları yazınız.


static void DiziyeEsikDegeriUygula(int[,] gelenDizi,int esikDeger)
{

for (int i = 0; i < gelenDizi.GetLength(0); i++)
{
for (int j = 0; j < gelenDizi.GetLength(1); j++)
{
Console.Write("Eski Değeri {0} | ",gelenDizi[i,j]);

if (gelenDizi[i, j] >= esikDeger)
{
gelenDizi[i, j] = 255;
}
else
{
gelenDizi[i, j] = 0;
}

Console.WriteLine("Yeni Değeri : {0}",gelenDizi[i,j]);
Console.WriteLine("------------");
}

}

}
static void Main(string[] args)
{

int[,] dizi = new int[10, 10];
Random rnd = new Random();
for (int i = 0; i < dizi.GetLength(0); i++)
{
for (int j = 0; j < dizi.GetLength(1); j++)
{
dizi[i, j] = rnd.Next(0, 255);
}
}
DiziyeEsikDegeriUygula(dizi, 100);

}

38 ) Takimlar adlı dizi içerisinde 18 tane takım bulunmaktadır(Takım1, Takım2, vb.). Bu takımlar arasında yapılacak olan ilk maçlar için 18 tane takımı eşleştiren bir program yazınız.


static void FiksturYap(string[] dizi)
{
Random rnd = new Random();
string[] evSahibi = new string[dizi.Length / 2];
string[] deplasman = new string[dizi.Length / 2];
for (int i = 0; i < evSahibi.Length; i++)
{
if (i == 0) { evSahibi[i] = dizi[rnd.Next(0, dizi.Length)]; }
else {
int durum = 0;
do
{
int sayac = 0;
string rastgeleGelen = "";
rastgeleGelen = dizi[rnd.Next(0,dizi.Length)];
foreach (string takim in evSahibi)
{

if (takim == rastgeleGelen) { sayac++; break; }

}
if (sayac == 0) { evSahibi[i] = rastgeleGelen;durum = 1; }

} while (durum!=1);

}

}

for (int i = 0; i < deplasman.Length; i++)
{
int durum = 0;
do
{
int sayac = 0;
string rastgeleGelen = "";
rastgeleGelen = dizi[rnd.Next(0, dizi.Length)];

foreach (string takim in deplasman)
{

if (takim == rastgeleGelen) { sayac++; break; }

}
foreach (string takim in evSahibi)
{

if (takim == rastgeleGelen) { sayac++; break; }

}
if (sayac == 0) { deplasman[i] = rastgeleGelen; durum = 1; }

} while (durum != 1);

Console.WriteLine("ev Sahibi {0} | Deplasman {1}",evSahibi[i],deplasman[i]);
}

}
static void Main(string[] args)
{

string[] dizi = new string[18];
dizi[0] = "a";
dizi[1] = "b";
dizi[2] = "c";
dizi[3] = "d";
dizi[4] = "e";
dizi[5] = "f";
dizi[6] = "g";
dizi[7] = "h";
dizi[8] = "i";
dizi[9] = "j";
dizi[10] = "k";
dizi[11] = "l";
dizi[12] = "m";
dizi[13] = "n";
dizi[14] = "o";
dizi[15] = "p";
dizi[16] = "r";
dizi[17] = "s";
FiksturYap(dizi);

}

39 ) N elemanlı bir boyutlu dizinin elemanlarına 1-50 arasında rastgele değer aktarımı yapılacaktır. Değerler atandıktan sonra ;Her bir eleman değerinden dizi içinde kaçar tane olduğu ekrana yazdırılacaktır.3 ve 5 in katlarını 50 elemanlı başka bir diziye sırayla kopyalayan kodları yazınız.

int[] ucvebes = new int[50];
int eleman = 0, say = 0;
Random rnd = new Random();
Console.Write("Eleman Saysını Giriniz : ");
eleman = Convert.ToInt32(Console.ReadLine());
int[] dizi = new int[eleman];
for (int i = 0; i < eleman; i++)
{
dizi[i] = rnd.Next(1, 50);

}

foreach (int elm in dizi)
{
int sayac = 0;
foreach (int elma in dizi)
{
if (elm == elma) { sayac++; }
}
Console.WriteLine("{0} sayısında {1} tane", elm, sayac);
}

for (int i = 0; i < dizi.Length; i++)
{
if (dizi[i]%15==0)
{
ucvebes[say] = dizi[i];
say++;

}
}

40 ) static string[] TekleriGetir(int[] dizi) kendisine parametre olarak gelen diziden elemanları tek olanları geriye döndüren metodu yazınız.

static string TekleriGetir(int[] dizi) {
string sayac = "";
foreach (int sayi in dizi)
{
if (sayi % 2 != 0) { Console.WriteLine(sayi); }
}

return sayac;
}

static void Main(string[] args)
{
int[] dizi = new int[10];
for (int i = 0; i < dizi.Length; i++)
{
dizi[i] = i;
}
TekleriGetir(dizi);

}

41 ) Kendisine değişken sayıda parametre yollanan kelimelerden en uzun kelimeyi bulup geri döndüren “EnUzunKelime ” adındaki metodu yazınız.

static string EnUzunKelime(params string[] kelimeler)
{
string don = "";
int enUzunKelimeIndexi = 0, euks = 0;
string k = "";
for (int i = 0; i < kelimeler.Length; i++)
{
k = kelimeler[i];
if (k.Length > euks) {
euks = k.Length;
enUzunKelimeIndexi = i;
}
}
Console.WriteLine("En Uzun Kelime {0} Karakter ile {1} Oldu",euks,kelimeler[enUzunKelimeIndexi]);

return don;
}
static void Main(string[] args)
{
EnUzunKelime("osman", "le", "barcelonaaaa", "sişarp");

}

42 ) Kendisine değişken sayıda parametre yollanan dizideki her bir elemanı bir kelime olan dizinin en kısa kelimsini ekrana yazıp geriye döndüren “EnKisaKelime” adındaki metodu yazınız.

static string EnKisaKelime(params string[] kelimeler)
{
string don = "";
int enKisaKelimeIndexi = 0, ekks = 99999;
string k = "";
for (int i = 0; i < kelimeler.Length; i++)
{
k = kelimeler[i];
if (k.Length < ekks) {
ekks = k.Length;
enKisaKelimeIndexi = i;
}
}
Console.WriteLine("En Uzun Kelime {0} Karakter ile {1} Oldu",ekks,kelimeler[enKisaKelimeIndexi]);

return don;
}
static void Main(string[] args)
{
EnKisaKelime("osman", "lele", "barcelonaaaa", "sişarp");

}

43 ) string ParcaGetir(string kelime,int baslangic,int bitis)
ParcaGetir(“merhaba”,1,3) > mer ParcaGetir(“ali”,2,3) > li ParcaGetir(“ali”,1,5) > hiçbir değer geri döndürmeyecek

static void ParcaGetir(string kelime, int baslangic,int bitis) {

baslangic -= 1;
for (int i = baslangic; i < bitis; i++)
{
Console.Write(kelime[i]);
}

}

static void Main(string[] args)
{

ParcaGetir("osman", 1, 3);

}

Bu İçeriğe Tepkin Ne Oldu?
  • 17
    ba_ar_l_
    Başarılı
  • 5
    gayet_yi
    Gayet İyi
  • 8
    te_ekk_rler
    Teşekkürler
  • 5
    anlamad_m
    Anlamadım
  • 14
    yetersiz
    Yetersiz
İlginizi Çekebilir
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

255 Yorum
Inline Feedbacks
View all comments
müşerref deşiman

birden başlayarak klavyeden girilen sayıya kadarki tek sayıların kareleri toplamını bularak ekrana yazdıran programı kodlayınız

ayse

c dilinde Bir dosya acarak bu dosyaya 0-100 aralığında degisen rastgele 50 adet sayı yazdıran program yapabilirmisinizz

Yusuf Gündüz

ay ismi girildiğinde. mevsimleri yazan programı if-else yapısı kullanarak olusan prog. “ACİLLLL”

YUSUF GÜNDÜZ

console kodları bir ay girdiğimizde hangi mevsim olduğunu gösteren program if else değimlerini kullanarak …. ACİL LÜTFEN

esra melis

Klavyeden
Ad Soyad ve iki yazılı sınav puanı,iki performans puanı ve bir proje
notu girerek ortalamayı hesaplayan ve
ekrana Ad Soyad =not şeklinde yazdıran
programı yazınız.Performans
puanları 1.ve 2.yazılı sınav puanlarından küçük girildiğinde,performans
puanları yazılı puanlarından küçük girilemez,ayrıca sınav puanları
(0-100)aralığı dışında girildiğinde (0-100)aralığı dışında girilemez diye
ekrana yazdıran program kodlarını yazınız.

büşra

bana çok acil klavyeden girilen sayının faktöriyelini bulan program lazım lütfen yardım edin

Cem Güven

hocam bi yardım edermisinz benim microsoft visual studio bi hata veriyo ve hiçbir çalışma yapamıyorum sorun şu error HRESULTE_FAİL has been returned a call to a COM component lütfen yardım edermisin derslerimi yapamıyorum….

cem

hala acamadım bi yardım edin lütfen derslerden kaldım….

Kudret Özcan

klavyeden bir sayı giriniz sayı 1000’den küçük ise %1’ini , 1000-2000 arasında ise %2’sini 2000-3000 arasında ise %3’ünü,3000’den büyükse %5’ini hesaplayan ve ekranda gösteren programı yazınız… not:çok acil lazm hemen vermem gerek yardımcı olurmusunuz…

Kudret Özcan

hocam bi yardımcı olun lütfen bu çok önemli hocam…

BilisimOgretmeni

Console.WriteLine("bir sayı girin");
int sayi = Int16.Parse(Console.ReadLine());
double sonuc=0;
if (sayi = 1000) && (sayi = 2000) && (sayi < 3000)) sonuc = sayi * 0.03;
else sonuc = sayi * 0.05;
Console.WriteLine("Sonuç= {0}", sonuc);
Console.ReadKey();

kudret

teşekkür ederim hocam sağolun

BilisimOgretmeni

iyi dersler….

ramazan Aydın

Girilen sayının tek yada çift olduğunu bulan program abi acil dersteyiz :D

BilisimOgretmeni
Oyku

5 ogrencinin birinci ve ikinci notlarini isteyip ortalamalarini hesaplayip ekrana yazdiran program. For dongusuyle yapilcakl yardimci olur musunuzz ?

Erhan Karakuş

klavyeden bir sayı girinz.sayınız 10 ise 10 katını 20 ise 20 katını 30 ise 30 katını bulan programı yazınız

acil yardım edin lütfen

BilisimOgretmeni


Console.WriteLine("bir sayı girin");
int sayi = Int16.Parse(Console.ReadLine());
if (sayi==10) Console.WriteLine(10*10);
if (sayi == 20) Console.WriteLine(20 * 20);
if (sayi == 30) Console.WriteLine(30 * 30);
Console.ReadKey();

Erhan Karakuş

Çok telşekkür ederim allah razı olsun ..

pınar

klavyeden girilen sayı 5ten küçük ise ekrana 3 defa adımızı 5 ten küçük ise ve eşitse 5 kere soyadımızı yazdıran program for döngüsü ile yapılacak nasıl olacak ????

BilisimOgretmeni


Console.WriteLine("bir sayı girin");
int sayi = Int16.Parse(Console.ReadLine());
string ad = "Ayşe";
string soyad = "Aydın";
if (sayi < 5)
for (int i = 0; i = 5)
for (int i = 0; i < 5; i++) Console.WriteLine(soyad);
Console.ReadKey();

can

Güzel calisma

BilisimOgretmeni

teşekkür ederiz…

serkan saka

hacam benimde yardıma ihtiyacım var proje ödevim bu benim ben ders yazılımı yapan bir program aldım ödev için. hocalara derleri otomatik dağıtacak çakışma olmayacak sadece hoca ismini girerek derslerine bakabilecek bunu nasıl yapa bilirim lütfen vardım

betul

100 elemandan oluşan bir dizide negatif ve pozitif elemanlarının sayısını bulan program??