Console Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

20 Aralık 2017 Çarşamba

C# ‘da Bir Dizedeki Tüm Alt Dizeleri Bulmak İçin Program

Bu makalede, csharp’daki( c# ) bir dizeden tüm olası alt dizeleri nasıl çıkaracağımızı öğreneceğiz.
Bu sık sorulan bir mülakat sorusudur.
Bir dizedeki tüm alt dizeleri bulmak için aşağıdaki örneğe göz atalım.

C# ‘da Bir Dizedeki Tüm Alt Dizeleri Bulmak İçin Program



class Program
    {
        static void Main()
        {
            string value = "rstuvwxyz";
            //Değerimizi alalim.
            for (int length = 1; length < value.Length; length++)
            {
                // bitiş indexi biraz zor.
                for (int start = 0; start <= value.Length - length; start++)
                {
                    string substring = value.Substring(start, length);
                    Console.WriteLine(substring);
                }
            }
        }
    }

Çıktısı




















C# 1-20 kadar olan sayıların alt küme toplamı 25 olanı bulan algoritma


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            #region klavyedenKüme
      
            var _kume = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20";
            var kume = _kume.Split(',');
            var altkume = AltKumeBul(kume);
 
            var sayi = AltkToplam(altkume);
            Console.WriteLine("Küme toplamı 25 olan altküme sayısı: " + sayi);
            Console.ReadKey();
        }
 
        private static int AltkToplam(List<string> altkume)
        {
            string[,] altk = new string[4, altkume.Count];
            int adet = 0;
            foreach (var v in altkume)
            {
                if (v != "")
                {
                    int toplam = 0;
                    var temp = v.Split(',');
                    var l = temp.Length;
                    toplam += temp.Sum(s => Convert.ToInt32(s));
                    if (toplam == 25)
                    {
                        adet++;
                    }
                }
            }
            return adet;
        }
 
        private static List<string> AltKumeBul(string[] kume)
        {
            int es = kume.Length;
            int aks = AksHesap(es);
            List<string> t = new List<string>();
            string[,] altkume = new string[es, aks];
            t.Add("");
            foreach (var s in kume)
            {
 
                int x = t.Count();
                for (int y = 0; y < x; y++)
                {
                    if (y == 0)
                    {
                     //   Console.WriteLine("{" + t[y] + s + "}");
                        t.Add(t[y] + s);
                    }
                    else
                    {
                      //  Console.WriteLine("{" + t[y] + "," + s + "}");
                        t.Add(t[y] + "," + s);
                    }
                }
            }
            return t;
        }
        private static int AksHesap(int es)
        {
            return (int)Math.Pow(2, es);
        }
    }
}
 
 
 
#endregion

Youtube İle Çıktısı


C# ‘da Bir Dizedeki Tüm Alt Dizeleri Bulmak İçin Programımızın kodlarını ve ekran çıktısını paylaştık bunun yanı sıra alt küme mantığınada bakmak için ikinci bir program paylaştık umarım faydalı olur.Faydalanan arkadaşların yorum bırakması diğer arkadaşlarada ulaşması açısından çok iyi olacaktır.


b2b yazılım vois media