Yazilim Mutfagi Dersleri ( C#) Ders 4 – Diziler, Çok Boyutlu Diziler, Düzenli ve Düzensiz Çok Boyutlu Diziler Nasil Kullanilir. foreach Döngüsünün Kullanimi.

Önceki Dersler

C# da Diziler

Diziler için ayni tipteki verilerin tutuldugu bir koleksiyon diyebiliriz. Örnegin integer verinin bir yigin seklinde tutulmasi için dizileri kullaniriz. C# da diziler referans tipinde degiskenlerdendir. C# da tanimlanan tüm diziler System.Array sinifindan türemis bir nesnedir. C# da diziler asagidaki gibi tanimlanir.

<veri tipi>[] <degisken ismi> = new <veri tipi>[<dizinin boyutu>];

10 adet integer veri tutan bir dizinin tanim ise

int[] integerDizi = new int[10];

Bir dizinin boyutlari sabittir ve kullanilmadan önce belirlenmelidir. Dizi boyutunu belirlemek için baska bir degiskende kullanabilirsiniz.

int boyut = 10;
int[] integerDizi = new int[boyut];

Diziyi tanimlama ve baslangiç degerlerini atama islemini ayri satirlardada yapabilirsiniz.

int[] integerDizi;
integerDizi = new int[10];

Ayrica dizileri tanimlarken, dizi içine atmak istediginiz verileride belirterek dizi tanimlayabilirsiniz. Bunun için kullanacaginiz veri tipine uygun olacak sekilde, süslü parantez içinde her biri virgülle ayrilmis dizi elemanlarini yazmaniz yeterli.

int[] integerDizi = {1,2,3,4,5,6,7,8,9};

Yukarida 10 adet elemani olan ve degerleri de verilmis, integer tipinde verileri tutan bir dizi tanimladik. Eger dizimiz string degerler tutacak olsaydi, süslü parantez içine yazdigimiz elemanlarin her birini çift tirnaklar arasina almamiz gerekirdi.

string[] strDizi = { "Sabri", "Metin", "Osman", "Ali" };

Dizi Elemanlarina Ulasmak

Dizi elemanlarina ulasmak için [indeks] indeks operatörünü kullaniriz. Dikkat edilmesi gereken nokta C# da dizilerin elemanlari 0. Indeksten baslar, yani eger 5 elemanli bir dizimiz varsa bu dizinin birinci elemani 0. indekste son elemani ise 4. indekstedir. 5 elemanli bir dizinin 3. elemanina asagidaki gibi erisiriz.

int[] integerDizi = { 1, 2, 3, 4, 5};
int ucuncuEleman = integerDizi[2];

Bir dizi içindeki elemanlara ulasmak için basit bir örnek:

int[] integerDizi = { 4, 8, 23, 64, 35 };
for (int i = 0; i < 5; i++)
{
    Console.WriteLine("Dizinin {0}. Elemaninin Degeri = {1} ", i, integerDizi[i]);
}

Yukaridaki kodun çalismasi sonucu olusan ekran görüntüsü:

Dizinin 0. Elemaninin Degeri = 4
Dizinin 1. Elemaninin Degeri = 8
Dizinin 2. Elemaninin Degeri = 23
Dizinin 3. Elemaninin Degeri = 64
Dizinin 4. Elemaninin Degeri = 35

Yukaridaki örnekte bir dizi olusturduk ve bu dizinin eleman sayisi kadar bir for döngüsü kurduk. Döngü içinde diziye ait elemanlarin degerlerine tek tek ulastik.

Peki kullandigimiz dizinin eleman sayisini bilmeseydik nasil döngüye girebilirdik. Bütün diziler System.Array sinifindan türemis nesnelerdir demistik. System.Array sinifinin Length diye bir özelligi vardir, dogal olarakda tüm dizilerinde bir Length özelligi olur. Dizimizin eleman sayisini dizininAdi.Length diyerek alabiliriz. Yukaridaki örnegi bu yöntemle yeniden yazacak olursak.

 
int[] integerDizi = { 4, 8, 23, 64, 35 };
for (int i = 0; i < integerDizi.Length; i++)
{
    Console.WriteLine("Dizinin {0}. Elemaninin Degeri = {1} ", i, integerDizi[i]);
}

Yukaridaki kodu çalistirdiginizda bir önceki örnegimizle ayni sonucu üretir.

Dizilerle ilgili dersimize devam etmeden önce diziler için kullandigimiz foreach döngüsüne bakalim.

foreach Döngüsü

Diziler ve koleksiyonlarin elemanlarina erismek için basit ve kullanisli bir döngü çesidi. Döngüler dersinde bahsetmedik çünkü dizileri anlatmadan foreach döngüsünü anlamaya çalismak bosuna olacakti. foreach döngüsünün yapisi asagidaki gibidir.

 
foreach(<dizi içindeki elemalarin veri tipi> <degisken ismi> in <diziveyaKoleksiyonadi>)
{
    <Kod blogumu>
}

Yukarida for döngüsü ile yaptigimiz örnegimiz foreach döngüsü ile yapalim.

foreach (int diziElemani in integerDizi)
{
    Console.WriteLine("Elemanin Degeri = {0} ", diziElemani);
}

Çok daha basit ve kullanisli oldugunu görebilirsiniz.

  • Foreach döngüsü kullanirken ulastigimiz dizi elemanlari readonly dir. Yani yukaridaki örnek üzerinde anlatacak olursak foreach döngüsü içinde diziElemani adli integer degiskenin içerdigi degeri degistiremezsiniz. Eger degistirmeye kalkarsaniz Cannot assign to 'diziElemani' because it is a 'foreach iteration variable' hatasi alirsiniz. Eger yazdiginiz uygulamada dizi elemanlarini döngü içinde degistirmek istiyorsaniz for döngüsü kullanmanizi tavsiye ederim.
  • String tipindeki bir degiskende char tipindeki verilerin birlesmesinden olusmus bir dizidir. Öyleyse foreach döngüsü kullanarak asagidaki gibi bir stringin elemanlarini erisebilirsiniz.
string metin = "Yazilim Mutfagi";
foreach (char harf in metin)
{
    Console.WriteLine("Harf = {0} ", harf);
}

Çok Boyutlu Diziler (Multidimensional Array)

Çok boyutlu bir dizi ‘dizinin dizisi’ seklinde tabir edilebilir. Her elemani baska bir dizi olan diziler çok boyutlu bir dizidir. Çok boyutlu bir dizi veritabaninda her satirinda birden fazla kolon bulunan bir tabloya benzetilebilir. Eger her satirda bulunan her kolon kendi içinde baska bir dizi barindirmiyorsa bu tür dizilere 2 boyutlu diger bir degisle çok boyutlu diziler denir. Eger her kolonda kendi içinde baska bir dizi barindiriyorsa bu tür dizilere n boyutlu diziler denir. Burda n ifadesi dizinin derinligini ifade eder.

Çok boyutlu diziler iki çesittir;

  • Düzenli Diziler: Her satiri ayni sayida kolon barindiran diziler.
  • Düzensiz Diziler (Jagged Array) : Her satiri farkli sayida kolon barindiran diziler.

Çok boyutlu dizileri sekillerle anlatmaya çalisalim.,

Not: Dizilerin ilk elemaninin indeks numarasinin 0 oldugunu unutmayin.

tek boyutlu çift boyutlu ve 3 boyutlu diziler

Dizilerin Tanimlanmasi ve Deger Atamalari

Tek boyutlu bir dizinin nasil tanimlandigini ve nasil deger atayacagimizi yukarda anlatmistik. Simdi Tek boyutlu dizi dahil tüm dizi tiplerini nasil tanimlayacagimiza bakalim.

Tek Boyutlu Diziler:

//Dizinin Olusturulmasi
int[] intDizi = new int[5];

//Dizi elemanlarina deger atamasi
intDizi[0] = 36; //dizinin ilk elemanina 36 degeri atandi
intDizi[2] = 26; //dizinin ikinci elemanina 26 degeri atandi
intDizi[4] = 32; //dizinin son elemanina 32 degeri atandi

Çok Boyutlu Diziler:

//Dizinin Olusturulmasi
int[,] intCokBDizi = new int[2, 3];
//Dizi elemanlarina deger atamasi
intCokBDizi[0, 0] = 23;
intCokBDizi[0, 1] = 25;
intCokBDizi[0, 2] = 33;
intCokBDizi[1, 0] = 41;
intCokBDizi[1, 1] = 29;
intCokBDizi[1, 2] = 93;

Çok Boyutlu Dizilerin Elemanlarina Döngü Ile Ulasmak

for döngüsü:

//Dizi elemanlarini for döngüsü ile bulmak.
for (int row = 0; row < intCokBDizi.GetLength(0); row++)
{
    for (int col = 0; col < intCokBDizi.GetLength(1); col++)
    {
        Console.WriteLine("Dizinin {0},{1} indeksindeki degeri : {2}",row,col,intCokBDizi[row,col]);
    }
}

Ekran Çiktisi:

Dizinin 0,0 indeksindeki degeri : 23
Dizinin 0,1 indeksindeki degeri : 25
Dizinin 0,2 indeksindeki degeri : 33
Dizinin 1,0 indeksindeki degeri : 41
Dizinin 1,1 indeksindeki degeri : 29
Dizinin 1,2 indeksindeki degeri : 93

GetLength() fonksiyonu dizinin belirtilen boyutundaki eleman sayisini verir. Yukaridaki örnekte görüldügü gibi parametre olarak 0 veya 1 veriyoruz. 0 dizinin birinci boyutundaki eleman sayisi yani satir sayisi, 1 verdigimizde ise dizinin 2.boyutu yani kolon sayisini verir.

Dizilerin Length özelligi dizi içinde bulunan toplam eleman sayisini verir. Örnegin yukaridaki örnekte tanimladigimiz dizi için intCokBDizi.Length sonuç olarak 6 döndürür.

2 boyutlu Düzensiz dizilerde foreach döngüsü kullanamayiz. foreach döngüsünü sadece tüm elemanlara erismek için kullanabiliriz. Eger her boyuttaki elemana farkli erismek istiyorsak for döngüsü kullanmamiz gerekiyor. foreach döngüsü ile düzensiz 2 boyutlu dizilerin elemanlarina erisebiliriz. Önce düzensiz dizilerin nasil tanimlandigina bakalim sonrada foreach döngüsü ile elemanlarina nasil erisecegimize göz atalim.

Düzensiz Çok Boyutlu Diziler:

//Dizinin Olusturulmasi
int[][] intCokBDizi = new int[3][];

//Ikinci boyutta bulunan her elemanda bir dizi olduguna göre
//onlarida new komutu ile ayarlamamiz gerekir.
intCokBDizi[0] = new int[2];
intCokBDizi[1] = new int[4];
intCokBDizi[2] = new int[3];

//Dizi elemanlarina deger atamasi
intCokBDizi[0][0] = 13;
intCokBDizi[0][1] = 15;

intCokBDizi[1][0] = 21;
intCokBDizi[1][1] = 29;
intCokBDizi[1][2] = 29;
intCokBDizi[1][3] = 23;

intCokBDizi[2][0] = 39;
intCokBDizi[2][1] = 39;
intCokBDizi[2][2] = 33;

Bir önceki anlattigimiz düzensiz çok boyutlu dizide for döngüsü kullanarak elemanlara tek tek ulasmistik. Düzensiz dizilerde elemanlara tek tek ulasmak istedigimizde for döngüsü yerine foreach döngüsü kullaniyoruz.

foreach Döngüsü:

foreach (int[] row in intCokBDizi)
{
    foreach (int col in row)
    {
        Console.WriteLine(col);
    }
    Console.WriteLine("---------");
}
Ekran Çiktisi
13
15
---------
21
29
29
23
---------
39
39
33
---------

Yukarida anlattiklarimizin isiginda 3 boyutlu düzenli ve düzensiz dizileri nasil tanimlariz ve bunlara nasil deger atamasi yapariz bir örnekle anlatalim.

//3 boyutlu düzenli dizi tanimlama
int[,,] intUcBDizi = new int[2,3,2];

//3 boyutlu düzenli diziye deger atama
intUcBDizi[0, 0, 0] = 1;
intUcBDizi[0, 0, 1] = 34;
intUcBDizi[1, 1, 0] = 156;

//3 boyutlu düzensiz dizi tanimlama
int[][][] intUcBDuzensizDizi = new int[2][][];

//3 boyutlu düzensiz dizinin alt elemanlarini ayarlama
intUcBDuzensizDizi[0] = new int[2][];
intUcBDuzensizDizi[0][0] = new int[3];
intUcBDuzensizDizi[0][1] = new int[4];

intUcBDuzensizDizi[1] = new int[3][];
intUcBDuzensizDizi[1][0] = new int[2];
intUcBDuzensizDizi[1][1] = new int[5];
intUcBDuzensizDizi[1][2] = new int[3];

//3 boyutlu düzensiz diziye deger atama
intUcBDuzensizDizi[0][0][0] = 129;
intUcBDuzensizDizi[0][0][1] = 65;
intUcBDuzensizDizi[0][1][0] = 119;
intUcBDuzensizDizi[0][1][1] = 35;

intUcBDuzensizDizi[1][1][1] = 30;
intUcBDuzensizDizi[1][2][1] = 37;

Örneklerimizde hep integer tipinde veri tutan dizilerden bahsettik. Örneklerle string deger tutan dizilerin nasil kullanildigini basitçe anlatalim.

string[] isim = new string[4];

Dizi elemanlarinin degerlerini olusturma aninda vermek

string[] isim = new string[4]{"Sabri","Seher","Ali","Metin"};

//veya
string[] isim2 = new string[] { "Sabri", "Seher", "Ali", "Metin" };

//veya
string[] isim3 = { "Sabri", "Seher", "Ali", "Metin" };

//veya tanimlama ve deger olusturma islemini ayri satirlarda yapma
string[] isim4;
isim4 = new string[4] { "Sabri", "Seher", "Ali", "Metin" };

Ilk olusturma aninda elemanlara deger verme islemini 2 boyutlu dizilerde de asagidaki gibi yapabiliriz.

string[][] isimListesi = { new string[] { "Sabri", "Seher" }, new string[] { "Ahmet", "Mehmet", "Zuhal", } };

Tags:

104 thoughts on “Yazilim Mutfagi Dersleri ( C#) Ders 4 – Diziler, Çok Boyutlu Diziler, Düzenli ve Düzensiz Çok Boyutlu Diziler Nasil Kullanilir. foreach Döngüsünün Kullanimi.

  • aleykum selam, malesef o kadar vaktim yok, makaleyi okuyum kendin birseyler çikaramadin mi?  googleda aratirsan bir çok makale bulursun.

  • selamün aleyküm arkadaslar . c# hocam bana ödev verdi çok boyutlu dizilerle ilgili güzel bi örnek istiyor ve ben bi türlü bulamadm yarin sunumum var bana satir satir anlatarak açiklayacak bi yardimsever lazim nolur yardimci olun lütfen .. tesekkürler . . Ouch

  • twitter’da yazdigim twitter hesabini hackleyip sifrelerini ve bilgilerini bana mail atacak program var mi arkadaslar ?

    arkadaslara sordugumda c# da yapanlar var diye duydum.
  • Ilk degerleri programda tanimlanan bir int dizinin elemanlarinin en büyügünü
    ve en küçügünü bulduran programin kod satirlarini ve ekran görüntüsünü
    yapiniz.
  • [QUOTE=Burak]dizinin kaç elemanli olucagini belirtmeden dizinin her bir elemanini kullaniciya girdirip en son bitis degeri olarak 0 girmesini saglamak mümkünmü?

    [/QUOTE]

    Hatta görmüsken yaziyim dedim 🙂
    for (int i = 1; i <= dizi.Length; i++)
    {
        dizi = Console.Read();
        if (dizi == ‘0’)
            break;
    }
    gibi bir kod yazilabilir, hatam olabilir, kontrol etmedim. Ama çalisir gibi.
  • Mümkün. Her bir degeri elle girmek için for döngüsü içinde olmak gerekir. Eger dizinin bir degeri sifira esitse for loopundan çik gibi bir islem yapilabilir. Bool degerleri ilede çikisi kontrol altina alabilirsiniz. 

  • dizinin kaç elemanli olucagini belirtmeden dizinin her bir elemanini kullaniciya girdirip en son bitis degeri olarak 0 girmesini saglamak mümkünmü?


  •   merhaba ben bir isletmede staj yapiyorum bir ödev verdiler okulda dizinleri ögrenmedigimiz için yapamiyorum bana yardim edermisiniz konu C# telefon defteri yapimi 


    mskunt2012-12-25 14:38:02

  • Ahmet bu kod  Main metodu içerisine yazdiginda çalisacaktir.

    //

     

     

     

     

    // Ekrana dizinin kaç boyut olmasi gerektigini kullaniciya sorduk

  • nasil örnekler istiyorsunki daha. o kadar biliyorsan sen paylas örneklerini.  adam ne güzel paylasmis daha ne istiyorsun

  •  Ya ne biçim bunlar çok kolay örnekler çok basit biraz daha 2,3 boyutlu dizi örnekleri kullanilsa daha iyi olur

  • Yardim için çok tesekkür ederim.

  •  reverse, tersten yaziyor sende yeni bir dizi olustur, onceki dizinin son elemanindan baslayip bu diziye at. boylece ters cevirmis olursun. sort içinde siralama algortitmalarini arastir. 

  •     Length’i yaptim  tesekkürler…    Clear , Reverse  ,  Sort ,   IndexOf  , kullanmadan bunlarin yaptigini  nasil yapabilirim yardimci olurmusunuz ???

  •  bir dizi için veya string için uzunluk bulmak istiyorsan lenght kullanmadan bunu ancak dongu ile yapabilirsin.

    foreach dongusu ile dizinin de gezin ve her gezinmede onceden ayarladigin degiskenin degerini bir arttir. donguden ciktiginda dizinin boyutunu bulmus olursun

  • c# length kullanmadan length yaptigi baska ne sekslde bulunabilir ??? 

  • klavyeden bir dizi boyutu girin.Daha sonra dizi boyutu kadar ondalikli sayiyi bu dizi içerisine ekleyin.Diziye eklenen bu sayilarin toplamini ,aritmetik ortalamasini,en büyük ve en küçük degerini ekrana yazdiran programi yazininiz.<<< bu programin cevabini Lütfen acele yazarmisinz . . . (

  •  Sedef, basit bir sey yazdim ve çalisiyor ama duruma göre isine yarar mi bilmem.

                string aranacakIsim = "Ahmet";

                string[] isimler = {"Ahmet", "Mehmet" };

                for (int i = 0; i < isimler.Length; i++)

                {

                    if (isimler[i].ToString().Equals(aranacakIsim))

                    {

                        Console.WriteLine(aranacakIsim+" bulundu. Indeks: "+i);

                    }            

     

                }

  • Bi sorum olacakti yardimci olursaniz sevinirim :/
    Disaridan girilen 100 adet ögrencinin içerisinde yine disaridan girilen bir ismi arayan eger dizi içerisinde bu isim varsa bulunan indis’i label in içine yazan kod çok ugrastim fakat bi sonuc alamadim

  • yarim çikmis pardon

    bunlari matris seklinde olusturup ekrana yazdirmak istiyorum fakat kod da söyle bir hata var artisi tek tek yapmiyor 

  • eee gerisi nerde. soruyu sormamissin

  •  3 satis elemanini 

    3 elemanin 81 ildeki 2011 ve 2012 yillarina ait rakami alacaksin
    ekrana yazilacak
     
     
     
     for (int i = 0; i < 3; i++)
                {
                    Console.WriteLine("{0}.satici girin:", i++);
                    Console.ReadLine();
                }
     
                for (int j = 0; j < 10; j++)
                {
                    Console.WriteLine("{0}.ili girin:", j++);
                    Console.ReadLine();
                } &n
  • Ahmet düzelttim ben 🙂

  •  Siteyi çökerttin Bahar  Yazdigim kodlar gorunmuyor, yeniden yaziyorum:

    string kelime = "bilgisayar";
    string altKelime = "say";

    if(kelime.Contains(altKelime))
    Controle.WriteLine(altKelime+" mevcut");
    else
    Console.WriteLine(altKelime+" bulunamadi");

     

     

  • mrb bana çook acil yardimci olabilirmisiniz bugece teslim edecegim de ödevi 

    girilen gelime içinde kelime bulma

    örn:bilgisayar aranacak kelime say gibi 

  • tam istediginizi yazarsaniz yardimci olmaya çalisiriz.

  •  bide çikis parametrelerini verseniz   bu \n \r falan varya onlariiiii ??? 

  • mever dizinin akis diyagramindan kastin nedir ?

    Gökhan nededigini anlamadim ben. 25 ve katlarinin elemanalrini bulduk topladikda sonradan ne yapacaz anlamadim

  • Bana iki boyutlu bir dizinin akis diyagrami gerekli ama hiç bir yerde bulamiyorum 🙁 Tek bir örnek bile bulamadim nette.

  •  500 elemanli  bir dizi tanimlayarak degerlerini 1 ile 500 arasindaki sayilari atayiniz 

    dizinin 25 ve 25 in kadlarindaki elemanlarini toplattirip dizinin 25 elemani 25 tir

    bu programi yazarmisiniz zahmet olmasa

  •  

    • bir diziye girilen 10 sayinn toplamini çarpimini ortalamasini bulan progrm

  • girilen cümle bir string olacaktir siz bunu Split fonksiyonu ile bosluk karakterine göre bir dizi haline getirin. olusan dizinin eleman sayisi kelime sayisini verecektir. dizinin her elemani için tek tek lenght e bakarak en uzununu bulabilirsin.

    Burada dikkat etmen gereken, bazi kelimeler arasi bosluk degil noktalama isaretleri olabilir. Bu durumda split etmeden önce virgül, nokta gibi karakterleri replace fonskiyonu ile boslupa çevirin.

  • Girilen cümlenin kelime sayisini ve en uzun kelimeyi bulan programi nasil yapariz (çok boyutlu dizide)
    Simdiden tsk :))

  •  Lütfen biri yardim etsin çok acil c# ta dizilerin sagdan sola degerlerinin atamasi lazim 🙁

  • Osman kardes, bu sorunun bu konuyla ne alâkasi var? Bak ne güzel forum sayfasi  açmislar. Sorunu orada sorarsan cevap alma ihtimalin daha yüksek olur.

  • En az 4 en fazla 9 harfli birbirinden farkli en fazla 75 tane kelime girilecek. Girilen sayi olursa kullaniciyi uyararak yeniden kelime girmesini saglayiniz. Girilen her 3cü kelimenin toplam uzunlugu, her 5ci kelimenin toplam uzunlugundan daha büyükse her 5ci kelimeleri küçükten büyüge dogru siralayiniz. Girilen her 3cü kelimenin toplam uzunlugu, her 5ci kelimenin toplam uzunlugundan daha küçükse her 3cü kelimeleri büyükten küçüge dogru siralayiniz. Siralamanin disinda kalan kelimeleri ise kendi aralarinda siralayiniz. Tüm sonuçlari ekranda gösteriniz ..bu soruda yardimci olabilecek biri varmi?

  • Berensude

    int[] dizi={0,15,35,30,80};

    int girilen_sayi;

    girilen_sayi=int.Parse(Console.ReadLine());

    for(int i=0;i<dizi.Length;i++){

    if(girilen_sayi==dizi[i])

    Console.WriteLine("Girilen sayi dizinin elemanlari arasindadir.");

    }

    Console.ReadKey();

  •  tsk siteniz cok guzelde acaba banada su soru hakkinda yardimci olurmusnuz cok acil…

    5 elemanli bir dizinin elemanlari 0 dan baslayip 5’e tm bölunebilen sayilardan olusmaktadir.klavyeden girilen bir degerin diziye ait olup olmadigini bulan program hmn cvplarmisiniz acaba …. simdiden tsk ederim 🙂

  • Çok iyi sabri abi.. Ellerine saglik. Çok yararli oldu.

  • Eline Saglik 🙂 tsk

     

  • McRear, bir picturebox dizisi yapsan ve bu ayirdigin parçalari picturebox dizisine atasan olmaz mi?

  • üstadlar ellerinize saglik çok güzel anlatimlar yapmissiniz

    lakin bnm bi sorunum war yardim edebilirmisiniz bilmiyorum uzun süredir nette arastiriyorum üye olmadigim site kalmadi bi çözüm bulamadim

    elimdeki 2 resmi pixellere ayirip diziler seklinde hafizaya almak istiyorum.

    sonrada bu pixelleri birbiriyle karsialastiracagim proje ödevim ders  geçmem resmen buna bagli

    su resmi piksele atayip for döngüsü içinde hafizaya alabilsem olay bitti birisini yapsam sadece gerisini çorap sökügü gibi getiririm ama yapamadim hala…

  • MSK senden rica etsem bana 3×3 lük bir matrisin elemanlarini disardan bir texboxtan girip bu matrisi listbox ta görüntüleyebilecegimiz programi yapabilirmisin çok ugrastim yapamadim simdiden tesekkürler yardimlarin için…

  • matris içisnde 2 boyutlu bir dizi olusturacaksin. ornektekinden farkli degil. 1 yerine 2 deger alip diziyi olustur sonrada ayni  mantikla tek tek elemanlarini ata.

  • teskrler çok güzel olmus peki buna benzer sekilde sonsuz boyutta matris olusturup yine matrisin boyutunu ve degerlerini disardan girmemiz gerekiyor.  matrisler ile ilgili islem yapmamizi saglayacak örnek program yapabilirmisiniz.

  •  eyw msk benim istediqimde buydu eline saglik.

  • Merhaba Mehmet ve Sami 

    istedigini gibi ufak bir örnek hazirladim ve forum bolumunde yayinladim.

    bu linkten ulasabilirsiniz.

  • slm arkadaslar , bende sami arkadasin sordugu seyi yapmak istiyorum bu konuda yardimci olurmusunuz.  dizi boyutunu disardan girip dizinin her degerinide disardan tek bir textbox dan qirmek istiyorum. bunu sonsuz diziler için yapmak istiyorum . basitçe anlatabilirseniz sevinirim simdiden tesekkürler..

  • slm herkese , ben dizi boyutunu disardan girip dizinin her degerinide disardan tek bir textbox dan qirmek istiyorum acaba nasil yapabilirim yardim ederseniz çok sevinirim

  • kodda Console.ReadLine(); yazdigimiz için dizinin her elemanindan sonra entera basarsin. eger direk olarak tüm elemanlari yazmasini istiyorsan bu satiri for döngüsününün içine degil altina koy

     

  • Merhaba Fikret. Istedigim seyi yapmissin zaten. sadece dizinin 0. elemani Pazartesi,1 elemani Sali seklinde yazdirmissin. Asagidaki gibi yazacak olursan o sorunda ortadan kalkar

    static void Main(string[] args)

    {

        string[] strDizi = { "Pazartesi", "Sali", "Çarsamba", "Persembe", "Cuma", "Cumartesi", "Pazar" };

        for (int i = 0; i < 7; i++)

        {

            Console.WriteLine("Dizinin {0}. Elamani = {1} ", i + 1, strDizi[i]);

            Console.ReadLine();

        }

    }

  •  string[] strDizi = { "Pazartesi", "Sali", "Çariamba", "Persembe", "Cuma","Cumartesi","Pazar" };

    for (int i = 0; i < 7; i++)
    {
    Console.WriteLine("Dizinin {0}. Elemannn Deeri = {1} ", i, strDizi[i]);
    Console.ReadLine();
     
    //burda yapmaya calistigim sey dizinin 1 elemani pazartesi
    //ikinci elemani sali
    //üçüncü elemani çarsamba …
    //seklinde yazmasini istiyorum fakat yazdiramiyorum yardim edrmisiniz lütfen..
    //cevabi yazdiginizda mailime bilgi mesaji atarsaniz sevinirim..
  • birisi

    s

    se

    sed

    seda

     

    fealn nasil yazilir diye sormus yardimci olayim

     string seda = "seda";

       int x = seda.Length;

          for (int i = 0; i <= x; i++)

       Console.WriteLine(seda.Substring(0, i));

           for (int k = x; k >= 0; k–)

                Console.WriteLine(seda.Substring(0, k));

       Console.Read();

     

  • Sehriban, Bence sen dizileri bosver, Git algoritma kitabi al,

    Programlama, programlama mantigi, akis semasi, döngüler, degiskenler, degiskenlerin hafizadaki saklanama ve yer kaplama sekilleri gibi konulari anla.

    Sonra bu konuya ge.

  • bu c sharp i anlamadim anlamam da ..

  • Sanirim yorumlarda karekter siniri var. Bir önceki yorumumda yarim kalan kodu surada bulabilirsiniz: http://paste-it.net/download/public/v02096d/

  • @msk

    Güzel bi kaynak olmus. Tesekkürler.

    @efe

    Tamamen dizileri kullandim ama biraz dolambaçli bir çözüm olabilir:

                int[] dizi = { 6, 6, 5, 2, 2, 3, 3, 3, 4, 4, 7 };
                int[] dizi2 = new int[10];
                int i = 0;
                foreach (int e in dizi)
                {
                    if (Array.IndexOf(dizi2, e) != -1)
                    {
                    &nbs

  • tesekkürler msk.ama yazdigim program dizilerle yapiliyormus.dizilerle yapilmis olani gönderirmisiniz?

  • Çok tesekkürler sahane olmus 🙂

  • forumdaki bu konuya sorunuzun cevabini yazdim. konuyu burdan takip edebilir. sorularinizi foruma açabilirsiniz.

    forum.yazilimmutfagi.com/default.aspx

  • Arkadaslar programi çalistiramiyorum lütfen bana yardim eder misin…..

  • ya siz ne satiyorsunuz;););););)

  • bu eda sedadr ha

     

  • sehribancim dedigin programda bi eksiklik var dimi canim;))

  • gezgin tesekkürler ama program iptal edildi.

  • bende yazamadim

  • giristen girilen ismi harf harf çogaltip azaltan program

  • ben ce guzel bir konu program calistirrirken zevrk aliyorum ama yazili kagit uzerinde oldugunda yapamiyorum walla yazilide console .writeLine bile unuttum heyecandan bilmiyorum bu niasil is ama bu programi herkese tavsiye ediyorum superrrrrrrrrrrrrrrrrrrr:)

    hocalearimiza tesekkur

  • naptiniz siz burda ya 🙂

    sehriban yapmak istedigini tam olarak bi anlat. girdigin kelimeyi ekrana bir karakter 2 karakter 3 karakter … seklinde yazmakmi istiyosun.

  •  

    string[] ad = new string[15];for (int i = 0; i < 15; i++)Console

    canim sehribancim bende buraya kadar geldim ;ama gerisi yok……

     

    {

     

    .ReadLine();

    }

  • walla sehriban bende bilmiyorum deniyorum ama olmuyor

  • s

    se

    sed

    seda

    seda

    sed

    se

    s

    bu program dizilerle yapiliyormus.ama ben bir türlü yapamadim.yapabilen biri varsa cevabini gönderebilir mi?

  • Çok güzel bi kaynak. bizim gibi ögrencilere yardimci oldugunuz için tesekkur ederiz.

  • yiiiiter ya  yiiiter ya bu ne yaaa :))

    biktik bune yaa :)))))))))))

  • evet ben hepinize katiliyorum gerçekten zor ama çalisirsak olur bence………………………

  • sehribancim çok haklisin %100 yanee:)

    mantigi kavramamizgerekiyiiiiiiiiiii    biz ezber yapiruz kemal hocanin dedigi gibi…insallah ilerde miiiiiiiiiikemmel progrogramcilar oluruz sehribanciimmm 😀

  • Okuyunca tamam anladik diyoruz is program yazmaya gelince bir suru hatamiz çikiyor.bu yuzden Sehribanna katiliyorum lütfen yardimci olurmusunuz.

  • Bende Sehribana katiliyorum; ama biraz abartmis çok iyi anliyorum. Sagolsun Kemal ve Ismail Hocamiz onlara çok tesekkür ediyorum

  • evet gerçekten çok güzel olmus..bizde okulda gördük ama biraz zorlaniyoruz biraz daha yardimci oludrsaniz olurmu…

  • bende sehriban ve ahuya katiliyorum biz 3ümüz ayni siniftayiz gerçekten biri bize su mantigi anlatsin..:)

  • ellerinize saglik  çok güzel olmus.. ama bende sehribana katiliyorum su mantigi bizede bi anlatsalar olmazmi…????

  • okulda C++ ve C# gördük.ama bir türlü mantigini kavrayamadim.su mantik denen seyi anlatirsaniz çok iyi olur

  • dersler çok güzel anlatilmis ama ben bu dersi nasil anlayacagim

  • bir önceki yazdigim kodda hata çikti, dogrusu asagidaki gibi olacak…
     

    int[] dizi = { 6, 4, 4, 1, 4, 9, 4, 8, 9, 5, 1, 8 };

    ArrayList liste = new ArrayList();
    for (int i = 0; i < dizi.Length; i++)
    {
    if (!liste.Contains(dizi[i]))
    liste.Add(dizi[i]);    
    }
     
    for (int j = 0; j < liste.Count; j++)
    Console.Write(liste[j] + " ");
  • biraz önce yazdigim kod sanirim max char limitini asti, o yüzden tekrar yaziyorum:

     

     

    int[] dizi = { 6, 6, 5, 2, 2, 3, 3, 3, 4, 4, 7 };

    ArrayList liste = new ArrayList();

    for (int i = 0; i < dizi.Length; i++)

    {  liste.Add(dizi[i]);  }

     

    for (int j = 0; j < liste.Count; j++)

    {  Console.Write(liste[j] + " ");

    liste.Remove(liste[j]);  }

     

  •  @efe

    direk dizi üzerinden istedigin islemin yapilisini çikaramadim ama farkli bir yol istersen;

    sayfaya System.Collections namespace’ini ekledikten sonra main’e asagidakileri yazarsan sanirim istedigin oluyor.

     

    int[] dizi = { 6, 6, 5, 2, 2, 3, 3, 3, 4, 4, 7 };

                ArrayList liste = new ArrayList();

                for (int i = 0; i < dizi.Length; i++)

                {

                    liste.Add(dizi[i]);

                }

                for (int j = 0; j < liste.Count; j++)

                {

                    Console.Write(liste[j] + " ");

       &n

  • Dizilerin kullaniminda console ile formlar arasinda hiç bir karklilik yoktur. Console üzerinde anlatmamizin sebebi kodlarin sade olmasi içindir. Ayni yapilari windows formlarda veya ASP.net web sayfalarindda kullanabilirsiniz tabiki console.writeline fonksiyonu hariç.

  • cok güsel anlatmisniz ama ben windows ortaminda farklilik olabilirmi diye sormak istiyorum.anlatilanlar consol da yapilmisda.saygilarimla….

  •  

      

     

    int [] dizi = {6, 6, 5, 2, 2, 3, 3, 3, 4, 4 ,7 };    2 tane girilen 6 yi bana ekranda 1 defa göstericek 3 tane girilen 3 bi defa ekranda olucak ekran ciktisi => 6-5-2-3-4-7 olucak bunu nsl yapablrm for la 🙂

     

     

  • ALLAH razi olsun kardas ..sen bu isi biliyosun.

  • isimsiz ne demek istedigini anlamadim. galiba yarim kalmis yazilarin

  • Dizilerin boyutu sabittir tanimlamadan once belirtilmeli deniyor.

     

    int a;int.Parse(Console.ReadLine());int[] ae = new int[a];Console.WriteLine(ae.Length);

    gibi bir tanimlada gayet duzgun calisiyor. Sabit bir boyut tanitmadim program calisirken istenile

  • unuttugum ve baska dillerle karistirdigim bi kaç noktayi hatirlatmak adinia çok yardimci oldu 🙂 bunu astik simdi hedef iki boyutlu dizi döndürecek olan fonksyon nasil oluyordu.

    Ellerinize saglik yararli bir blog

  • Güzeldi ya FULL mantigi kaptm 

  • Güzel bi yazi ve  açiklama olmus tesekkürler ellerine ve emegine saglik..

  • deli kardes yorumlarin fake oldugunu nerden çikardin? Sadece yazmis olmak için yazanlardanmisin sende

  • Yorumlar Fake.

  • Anlamadiginiz yerler hangisi yardimci olmaya çalisayim

  • Ya cok güzel aciklamissinizda bn bunlari hiç anlamiorm yaa

  • Ellerinize saglik cok güzel olmus.

  • sinavda basarilar dilerim. ins bildiginiz yerlerden soru gelir.

  • Birazdan sinava girecegim.Insallah hoca bunlardan sorar..

    emeginize saglik çok güzel hazirlanmis.

  • Tesekkürler, yararli bir kaynak olmus. Emeginize saglik.

  • tsk güzel olmus

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.