static void Main(string[] args)
{
string aranacak = "Buralar Eskiden Hep Otlakmis";
string aranan = "Ot";
int sayi = StringSearch(aranacak, aranan);
Console.WriteLine(sayi.ToString());
Console.ReadKey();
}
static int StringSearch(string aranacak, string aranan)
{
int toplam = 0;
int a = 0;
aranan = aranan.ToLower();
aranacak = aranacak.ToLower();
for (int i = 0; i < aranacak.Length; i++)
{
if (aranacak[i] == aranan[a])
{
if (a == aranan.Length - 1)
{
a = 0;
toplam += 1;
}
else
a++;
}
else
a = 0;
}
return toplam;
}
27 Eylül 2013 Cuma
StringSearch
Bir string içindeki bir kelimenin kaç kere bulunduğunu döndürür.
Stringdeki katsayıları ayırıp çarpmak
bir stringdeki bütün sayıları birbiriyle çarpan basit bir algoritma :)
Aldığım sonuçlar :
1) 87e5x34t = 87 * 5 * 34 =14790
2) 74582ex0e5 = 74582*0*5 = 0
3)74582ex05e5 = 1864550 (05 in yazımı hatalı)
4)12ex420k5i7 = 72*420*5*7 = 176400
1) 87e5x34t = 87 * 5 * 34 =14790
2) 74582ex0e5 = 74582*0*5 = 0
3)74582ex05e5 = 1864550 (05 in yazımı hatalı)
4)12ex420k5i7 = 72*420*5*7 = 176400
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace paralel1
{
class Program
{
static void Main(string[] args)
{
string asd = "87e5x34t";
List list = new List();
Console.WriteLine("Sonuc : {0}", StringKatsayi(asd,list));
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(String.Format("{0} .ci deger : {1}", i + 1, list[i]));
}
Console.ReadKey();
}
static int StringKatsayi(string yazi,List liste)
{
int anatoplam = 1;
int toplam = 0;
int katsayi = 1;
int tmp = 1;
char cr;
bool gordumu = false;
for (int i = yazi.Length - 1; i >= 0; i--)
{
cr = yazi[i];
if (cr > 47 && cr < 58)
{
tmp = cr - 48;
toplam += katsayi * tmp;
katsayi *= 10;
gordumu = true;
}
else
{
if (gordumu == true)
{
liste.Add(toplam);
katsayi = 1;
toplam = 0;
gordumu = false;
}
}
}
if (gordumu == true)
liste.Add(toplam);
for (int i = 0; i < liste.Count; i++)
{
anatoplam *= liste[i];
}
return anatoplam;
}
}
}
18 Eylül 2013 Çarşamba
c#ta infix notasyonu prefixe çevirmek
Prefix ve postfix hesap makinalarında,derleyicilerde kullanılan 4 işlem tekniklerinden birisidir .Bizim bildiğimiz matematiksel denklemleri, fonksiyonları parantez kullanmadan yazmamızı sağlayan bir tekniktir. Polish notation olarak da geçer .Alttaki linkler genel fikri verecektir
http://itviewson.files.wordpress.com/2012/06/infixprefixpostfix.pdf
http://www.cs.man.ac.uk/~pjj/cs2121/fix.html
http://www.cs.man.ac.uk/~pjj/cs2121/fix.html
class Notations
{
string fnk;
char[] oparray = { '+', '-', '/', '*', '^' };
public Notations(string infix)
{
this.fnk = infix;
}
bool operandmi(char cr)
{
int i = 0;
while (i<5)
{
if (cr == oparray[i])
return true;
}
return false;
}
public string prefix()
{
string asd = fnk;
Stack OpStack = new Stack();
Stack PrefixStack = new Stack();
int i = asd.Length-1;
while (i>=0)
{
char cr = asd[i];
if (cr > 47 && cr < 58)
{
PrefixStack.Push(cr);
PrefixStack.Push(',');
i--;
}
else
{
int j = 0;
while ( j<5 && cr!=oparray[j] )
{
j++;
}
if (j != 5)
{
OpStack.Push(cr);
i--;
}
else
{
if (cr == ')')
{
OpStack.Push(')');
i--;
}
else
{
if (cr == '(')
{
char cr2;
do
{
cr2=OpStack.Pop();
if (cr2 != ')')
PrefixStack.Push(cr2);
} while (cr2==')');
OpStack.Pop();
i--;
}
}
}
}
}
while (OpStack.Count!=0)
{
PrefixStack.Push(OpStack.Pop());
}
StringBuilder bl = new StringBuilder();
while (PrefixStack.Count!=0)
{
bl.Append(PrefixStack.Pop());
}
return bl.ToString();
}
}
3 Temmuz 2013 Çarşamba
Windows store appslarda Kontrol Bulma
Windows store appslarda Kontrol Bulma
private DependencyObject FindChildControl(DependencyObject control, string ctrlName) { int childNumber = VisualTreeHelper.GetChildrenCount(control); for (int i = 0; i < childNumber; i++) { DependencyObject child = VisualTreeHelper.GetChild(control, i); FrameworkElement fe = child as FrameworkElement; if (fe == null) return null; if (child is T && fe.Name == ctrlName) { return child; } else { DependencyObject nextLevel = FindChildControl (child, ctrlName); if (nextLevel != null) return nextLevel; } } return null; }
13 Kasım 2012 Salı
Asal mi degil mi
Girilen bir sayinin asal olup olmadığını kontrol eder
program asalmi(input,output);
Label here;
var
a,i : integer;
begin
writeln('Sayiyi Giriniz');
readln(a);
if a>2 then
begin
for i:=2 to A-1 do
begin
if A mod i=0 then
begin
writeln('Sayi Asal Degildir.',i,' sayisina tam bolunur');
Goto here;
Break;
end
end;
writeln('Sayi Asaldir');
goto here
end
else
if A=2 then
writeln('sayi asaldir')
else
writeln('1 den buyuk bir sayi giriniz');
here:readln()
end.
10 sayidan en büyüğü
Klavyeden girilen 10 sayidan hangisinin en büyük sayi olduğunu ve hangi sirada girildiğini ekrana yazdıran program
program enbuyuks(input,output);
var
i,sayi,enbuyuk,sira : integer;
begin
writeln('Sayiyi Giriniz');
readln(sayi);
enbuyuk:=sayi;
sira:=1;
for i:=2 to 9 do
begin
writeln('Sayiyi Girin');
readln(sayi);
if sayi>enbuyuk then
begin
sira:=i+1;
enbuyuk:=sayi
end
end;
writeln('en buyuk sayi : ',enbuyuk);
writeln('Girildigi Sira : ',sira);
readln()
end.
10 Kasım 2012 Cumartesi
Saat hesaplama
başlangıç saati ve tahmini varış süresi verilen yolun varışını hesaplama
program saatbul(input,output);
var
gun,saat1,saat2,dakika1,dakika2,ssaat,sdakika:integer;
begin
writeln('yola cikilacak saati yazin');
readln(saat1);
writeln('yola cikilacak dakikayi yazin');
readln(dakika1);
writeln('yolda gececek saati yazin');
readln(saat2);
writeln('yolda gececek dakikayi yazin');
readln(dakika2);
sdakika:=dakika1+dakika2;
ssaat:=saat1+saat2;
if sdakika>=60
then
begin
ssaat:=ssaat+sdakika div 60;
sdakika := sdakika mod 60;
end;
if ssaat >=24
then
begin
gun :=ssaat div 24;
ssaat := ssaat mod 24;
writeln(gun,' gun ',ssaat,' saat ',sdakika,' dakika')
end
else
writeln(ssaat,' saat ',sdakika,'dakika');
readln()
end.
Kaydol:
Kayıtlar (Atom)