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

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();
}
}
}

Pin It on Pinterest