İlginizi Çekebilir
  1. Ana Sayfa
  2. Visual Studio C#
  3. C# Örnekleri – Diziye Girilen Elamanları Tekrar Sayısını Bulma

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

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

Yorum Yap

Kimler Neler Demiş?

Bir Cevap Yazın

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

  Subscribe  
Bildir