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
Posted by
Karolinax,
on
08:21
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.
Kaydol:
Kayıtlar
(
Atom
)