1. Anasayfa
  2. Visual Studio C#

C# Örnekleri – Diziye Girilen Elamanları Tekrar Sayısını Bulma

C# Örnekleri – Diziye Girilen Elamanları Tekrar Sayısını Bulma
2

C# örneklerimize diziler konusundaki uygulamalar ile devem ediyoruz yapacağımız dizi örneğinde kullanıcının girmiş olduğu dizi elemanlarından hangisinin kaç defa tekrar edildiğini bulan programı yapıyoruz kod aralarında açıklamalar mevcut.
tekrarli

using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n,sayac=0,i,j,k,l;
            Console.WriteLine("Dizinin Eleman Sayısını Girin");
            n=Int16.Parse(Console.ReadLine());
            int[] dizi=new int[n];
            Console.WriteLine("Dizinin Elemanlarını Sırayla Girin");
    for (i=0;i<n;i++)
    {
        dizi[i] = Int16.Parse(Console.ReadLine());
        //diziye değerleri aldık www.bilisimogretmeni.com
    }
    //ilk iki for dizideki elemanların eşit olup olmadığını öğrenmek için dönüyor, mesela dizi[3]=1 ve dizi[7]=1
    for( j=0;j<n;j++)
    {
            for( k=0;k<n;k++)
            {
                //eğer tekrar eden değer bulunursa if'in içindeki kod çalışıyor www.bilisimogretmeni.com
                    if(dizi[j]==dizi[k])
                    {
                                        //bu for da, dizinin bütün değerleri için ekranda yazdırmanın önüne geçmek için.
                        //örneğin 2 üç kez tekrar ediyor olabilir ama ekranda sadece bir tane 2nin üç kez girildiğini görmemiz lazım aksi takdirde ekranda kaç kez girildiyse o kadar yazdırıyor. www.bilisimogretmeni.com
                                        for( l=0;l<j;l++)
                                        {
                                                //eğer değerin kaç kez girildiğini önceden yazdırmışsam bunu tekrar yazdırmama gerek yok
                                                if(dizi[l]==dizi[j])
                                                    //sayacı -1'e eşitliyorum çünkü sonrasında 1 artıracak 0 olacak ve en son ekrana yazdırırken sayaç 0 değilse yazdıracak www.bilisimogretmeni.com
                                                sayac=-1;
                                        }
                                        sayac++;
                    }
            }
            if (sayac != 0)
                Console.WriteLine(dizi[j] + " sayısı " + sayac + " kez tekrar edildi");    
            sayac=0;
    }
    Console.ReadKey();
        }
    }
}

Bu İçeriğe Tepkin Ne Oldu?
  • 2
    ba_ar_l_
    Başarılı
  • 1
    gayet_yi
    Gayet İyi
  • 3
    te_ekk_rler
    Teşekkürler
  • 2
    anlamad_m
    Anlamadım
  • 4
    yetersiz
    Yetersiz
Subscribe
Bildir
guest

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

2 Yorum
Inline Feedbacks
View all comments
Habib ALPASLANOĞULLARI

Dizide 3 tane yada daha fazla tekrar eden olduğunda yanlış sonuçlar çıkıyor.
 

Last edited 3 yıl önce by Habib ALPASLANOĞULLARI
Bilişim Öğretmeni

https://dotnetfiddle.net/EAb3dc bir problem yok gibi şimdi denedim
 

Last edited 3 yıl önce by Bilişim Öğretmeni