July 07, 2012

dchar[] iken bendede dogru calısıyor char[] yapıp bu işlemi uygularsan hatalı calısıyor

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

Senin verdiğin kodu char[] şeklinde yazdım simdi

konsol çıktım

$ dmd -w sss.d
huseyin32@huseyin32 ~/Belgeler/vtd/vtd_deneme $ ./sss
ÃÒÌÒÊÕÉÓÃ - a�a'a!a'a�a*a�a(a�
huseyin32@huseyin32 ~/Belgeler/vtd/vtd_deneme $

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

Evet bende farkettim. Nedeni şurada: http://ddili.org/forum/thread/337

Aralıklarla uğraşmak yerine dchar ile yapabilirsin.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

hmm doğru aklıma geldi dchar[] ile yapalım tamam da bazı kod sorunları ortaya çıkıyor class daki dbwrite ve dbopen işlevlerinin içinde kullanmam gerekiyor otomatik kullanılması için ama hep hata alıyorum :(

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

char ile şöylede oluyor:

import std.stdio;
import std.range;



char[] decrypt(char[] sifre, char[] bayrak)
   {
	char[] yenisifre;
       int sayi;
       int say=bayrak.length;



       for(;!sifre.empty;sifre.popFront()){
           sayi=say%bayrak.length;
           yenisifre~=cast(int)sifre.front-cast(int)bayrak[sayi];
           ++say;
       }
       return yenisifre;
   }



char[] encrypt(char[] sifre, char[] bayrak)
   {
       char[] yeniSifre;
       int sayi;
       int say=bayrak.length;
       for(;!sifre.empty;sifre.popFront()){
           sayi=say%bayrak.length;
           yeniSifre~=cast(int)sifre.front+cast(int)bayrak[sayi];
           ++say;
       }
       return yeniSifre;
   }

void main()
{
writeln(encrypt("agjghjgha".dup,"bk".dup),"  -  ",decrypt(encrypt("agjghjgha".dup,"bk".dup),"bk".dup));

}

Doğru kodlanmış mı bilemiyorum tabii :-)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

Evet doğru kodlanmış çözümleme doğru oldu benim düşüncem de şu şekilde parametreyi char[] olarak değilde string olarak almak sonra fonksiyonda char[] yapmak çıkışta gene string vermek o zaman hiçbir sıkıntımız kalmayacak

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012
import std.stdio;
import std.range;
import std.conv;


string decrypt(string sifre_s, string bayrak_s)
   {
   char[] sifre=to!(char[])(sifre_s);
   char[] bayrak=to!(char[])(bayrak_s);
   char[] yenisifre;
       int sayi;
       int say=bayrak.length;



       for(;!sifre.empty;sifre.popFront()){
           sayi=say%bayrak.length;
           yenisifre~=cast(int)sifre.front-cast(int)bayrak[sayi];
           ++say;
       }
       return to!(string)(yenisifre);
   }



string encrypt(string sifre_s, string bayrak_s)
   {
       char[] yeniSifre;
	char[] sifre=to!(char[])(sifre_s);
	char[] bayrak=to!(char[])(bayrak_s);
       int sayi;
       int say=bayrak.length;
       for(;!sifre.empty;sifre.popFront()){
           sayi=say%bayrak.length;
           yeniSifre~=cast(int)sifre.front+cast(int)bayrak[sayi];
           ++say;
       }
       return to!(string)(yeniSifre);
   }

void main()
{
writeln(encrypt("agjghjgha","bk"),"  -  ",decrypt(encrypt("agjghjgha","bk"),"bk"));

}

bak olmuş mu

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

Tamam suan da sifreleme sorunu çözuldu github a da yukledım

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

Bazı yerlerde char dönüşümüne gerek yok. Örn

decrypt işlevinin

   char[] bayrak=to!(char[])(bayrak_s);

satırında ve ayrıca encrypt işlevinin yine

   char[] bayrak=to!(char[])(bayrak_s);

satırında.

Onun yerine parametre ile edindiğin değişkeni direk kullan.

Yani şöyle olsun:

import std.stdio;
import std.range;
import std.conv;

string decrypt(string sifre_s, string bayrak)
   {
   char[] sifre=to!(char[])(sifre_s);

   char[] yenisifre;
       int sayi;
       int say=bayrak.length;



       for(;!sifre.empty;sifre.popFront()){
           sayi=say%bayrak.length;
           yenisifre~=cast(int)sifre.front-cast(int)bayrak[sayi];
           ++say;
       }
       return to!(string)(yenisifre);
   }
string encrypt(string sifre_s, string bayrak)
   {
       char[] yeniSifre;
       char[] sifre=to!(char[])(sifre_s);
       int sayi;
       int say=bayrak.length;
       for(;!sifre.empty;sifre.popFront()){
           sayi=say%bayrak.length;
           yeniSifre~=cast(int)sifre.front+cast(int)bayrak[sayi];
           ++say;
       }
       return to!(string)(yeniSifre);
   }
void main()
{
writeln(encrypt("agjghjgha","bk"),"  -  ",decrypt(encrypt("agjghjgha","bk"),"bk"));

}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 07, 2012

hm evet mantıklı gereksiz donusum yapmısım :D

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

1 2 3
Next ›   Last »