Dizilerle Metodların Beraber Kullanımı
Bu çalışmada, bir metoda dizi göndermeyi inceleyeceğiz. Rastgele 10 tane sayı üretip bir diziye atacağız, dizideki en büyük ve en küçük değeri bulma, toplam ve ortalama bulma işlemlerini metodlarla yapacağız. Aşağıdaki gibi bir form tasarlayalım. 5 tane Button nesnesi, bir TextBox bir tane de etiket koyacağız.
Formu oluşturduktan sonra tüm metodların içinden erişebileceğimiz aşağıdaki gibi genel bir dizi değişkeni tanımlıyoruz.
int[] dizi;
Ardından Rastgele butonun üzerine çift tıklayıp Click olayına aşağıdaki gibi kodları yazıyoruz. Burada dizinin boyutunu 10 eleman olacak şekilde tanımlıyoruz. Ardından 10 tane 1-100 arası rastgele sayı üretiyoruz ve diziye atıyoruz. Rastgele sayı üretirken önce Random motorunu başlatıp, yani Random sınıfından bir rastgele nesnesi türetip, Next metodu ile istediğimiz aralıkta sayı üretiyoruz. Aşağıdaki iki satır kod bunu yapıyor. Burada 1 eklememizin nedeni, üretilecek sayıyı 1-100 arasına(1 ile 100 dahil) çekmek.
Random rastgele = new Random();
dizi[i] = rastgele.Next(100) + 1;
Click olayının içindeki kodların tamamı aşağıdaki gibidir. Burada for döngüsü ile 10 defa sayı ürettiyoruz. Üretilen sayıların arasına virgül koyarak metin kutusuna atıyoruz. Döngü içindeki if satırı fazladan virgül koymamak için, sadece görüntüyü güzelleştirmek için.
Ardından aşağıdaki metodları yazıyoruz. enBuyukBul metodu bir diziyi parametre alıyor. Dizi içindeki ilk elemanı en büyük kabul edip, sonra döngü içinde sürekli karşılaştırma yapıyoruz, elimizdeki enbuyuk değerinden daha büyük bir değere rastlayınca enbuyuk değerine onu atıyoruz.
enKucukBul metodu da enBuyukBul metoduna benzer mantıkla çalışıyor, dizinin ilk elemanını en küçük kabul edip, diğer elemanları bu değerle karşılaştırıyoruz, daha küçük bir değere rastlayınca yer değiştiriyoruz.
Programın çalışan görüntüsü ve kodların tamamı aşağıda verilmiştir.
Nesne | Adı(Name) | Görünen Metin(Text) |
Button | btnRastgele | Rastgele Sayı Üret |
Button | btnToplam | Toplam Bul |
Button | btnOrtalama | Ortalama Bul |
Button | btnEnBuyuk | En Büyük Bul |
Button | btnEnKucuk | En Küçük Bul |
TextBoxt | txtSayilar |
Formu oluşturduktan sonra tüm metodların içinden erişebileceğimiz aşağıdaki gibi genel bir dizi değişkeni tanımlıyoruz.
int[] dizi;
Ardından Rastgele butonun üzerine çift tıklayıp Click olayına aşağıdaki gibi kodları yazıyoruz. Burada dizinin boyutunu 10 eleman olacak şekilde tanımlıyoruz. Ardından 10 tane 1-100 arası rastgele sayı üretiyoruz ve diziye atıyoruz. Rastgele sayı üretirken önce Random motorunu başlatıp, yani Random sınıfından bir rastgele nesnesi türetip, Next metodu ile istediğimiz aralıkta sayı üretiyoruz. Aşağıdaki iki satır kod bunu yapıyor. Burada 1 eklememizin nedeni, üretilecek sayıyı 1-100 arasına(1 ile 100 dahil) çekmek.
Random rastgele = new Random();
dizi[i] = rastgele.Next(100) + 1;
Click olayının içindeki kodların tamamı aşağıdaki gibidir. Burada for döngüsü ile 10 defa sayı ürettiyoruz. Üretilen sayıların arasına virgül koyarak metin kutusuna atıyoruz. Döngü içindeki if satırı fazladan virgül koymamak için, sadece görüntüyü güzelleştirmek için.
private void btnRastgele_Click(object sender, EventArgs e)
{
dizi = new int[10];
string sayilar="";
Random rastgele = new Random();
for (int i = 0; i < 10; i++)
{
dizi[i] = rastgele.Next(100) + 1;
if(i==0)
sayilar =dizi[i].ToString();
else
sayilar = sayilar + "," + dizi[i].ToString();
}
txtSayilar.Text = sayilar;
}
Ardından aşağıdaki metodları yazıyoruz. enBuyukBul metodu bir diziyi parametre alıyor. Dizi içindeki ilk elemanı en büyük kabul edip, sonra döngü içinde sürekli karşılaştırma yapıyoruz, elimizdeki enbuyuk değerinden daha büyük bir değere rastlayınca enbuyuk değerine onu atıyoruz.
public static int enBuyukBul(int[] dizi)
{
int enbuyuk = 0;
enbuyuk = dizi[0];
for(int i=0;i<dizi.Length;i++)
{
if (dizi[i] > enbuyuk)
enbuyuk = dizi[i];
}
return (enbuyuk);
}
enKucukBul metodu da enBuyukBul metoduna benzer mantıkla çalışıyor, dizinin ilk elemanını en küçük kabul edip, diğer elemanları bu değerle karşılaştırıyoruz, daha küçük bir değere rastlayınca yer değiştiriyoruz.
public static int enKucukBul(int[] dizi)
{
int enkucuk = 0;
enkucuk = dizi[0];
for (int i = 0; i < dizi.Length; i++)
{
if (dizi[i] < enkucuk)
enkucuk = dizi[i];
}
return (enkucuk);
}
toplamBul metodu da bir diziyi baştan sona dolaşıp, ilk başta oluşturduğumuz sonuc değişkeninin üzerine ekleye ekleye devam ediyoruz.
toplamBul metodu da bir diziyi baştan sona dolaşıp, ilk başta oluşturduğumuz sonuc değişkeninin üzerine ekleye ekleye devam ediyoruz.
public static int toplamBul(int[] dizi)
{
int sonuc = 0;
for (int i = 0; i < dizi.Length; i++)
sonuc += dizi[i];
return (sonuc);
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MetodDiziToplaOrtalaBuyukBuk
{
public partial class Form1 : Form
{
int[] dizi;
public Form1()
{
InitializeComponent();
}
public static int enBuyukBul(int[] dizi)
{
int enbuyuk = 0;
enbuyuk = dizi[0];
for(int i=0;i<dizi.Length;i++)
{
if (dizi[i] > enbuyuk)
enbuyuk = dizi[i];
}
return (enbuyuk);
}
public static int enKucukBul(int[] dizi)
{
int enkucuk = 0;
enkucuk = dizi[0];
for (int i = 0; i < dizi.Length; i++)
{
if (dizi[i] < enkucuk)
enkucuk = dizi[i];
}
return (enkucuk);
}
public static int toplamBul(int[] dizi)
{
int sonuc = 0;
for (int i = 0; i < dizi.Length; i++)
sonuc += dizi[i];
return (sonuc);
}
private void btnRastgele_Click(object sender, EventArgs e)
{
dizi = new int[10];
string sayilar="";
Random rastgele = new Random();
for (int i = 0; i < 10; i++)
{
dizi[i] = rastgele.Next(100) + 1;
if(i==0)
sayilar =dizi[i].ToString();
else
sayilar = sayilar + "," + dizi[i].ToString();
}
txtSayilar.Text = sayilar;
}
private void btnToplam_Click(object sender, EventArgs e)
{
int sonuc = toplamBul(dizi);
MessageBox.Show("Toplam Sonucu:"+sonuc.ToString());
}
private void btnOrtalama_Click(object sender, EventArgs e)
{
double ortalama = 0;
ortalama = toplamBul(dizi) / (double)dizi.Length;
MessageBox.Show(ortalama.ToString());
}
private void btnEnBuyuk_Click(object sender, EventArgs e)
{
MessageBox.Show(enBuyukBul(dizi).ToString());
}
private void btnEnKucuk_Click(object sender, EventArgs e)
{
MessageBox.Show(enKucukBul(dizi).ToString());
}
private void txtSayilar_TextChanged(object sender, EventArgs e)
{
}
}
}
Bu örnekte hem rastgele sayı üretmeyi, hem metodları kullanmayı hem bir metoda dizi göndermeyi öğrenmiş olduk.
Mutlu kodlamalar,
Oğuzhan TAŞ
22 Şubat 2022
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?