Re: [Linux-programlama] Caesar's Cipher

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Ömer F. USTA (omerusta@gmail.com)
Date: Wed 12 Jul 2006 - 02:39:25 GMT


Merhabalar

hem encrypt hemde decrypt fonksiyonlarındaki
char * türündeki result 'in son karakterini \0 a esitleyince sorunsuz calisiyor
Yani

void encryptMessage ()
{
        int i;
        
        result = malloc( sizeof(char) );
        
        for(i=0; string[i] != '\0'; i++)
        {
                if ( string[i] != '\0' )
                {
                        if ( ((int) string[i])+1 > (int) 'z' )
                                result[i] = (char) (((int) string[i])-(26-offset));
                        else
                                result[i] = (char) (((int) string[i])+offset);
                }
                else
                        break;
        }
     result[i]='\0';
}

void decryptMessage ()
{
        int i;
        
        result = malloc( sizeof(char) );
        
        for(i=0; string[i] != '\0'; i++)
        {
                if ( string[i] != '\0' )
                {
                        if ( ((int) string[i])-1 < (int) 'a' )
                                result[i] = (char) (((int) string[i])+(26-offset));
                        else
                                result[i] = (char) (((int) string[i])-offset);
                }
                else
                        break;
        }
    result[i]='\0';
}

yapinca ve koddaki encode secenegi acilinca

Please input encipher number followed by a message:
1 omer_biraz_kurcaladi_umarim_sorun_cozulmustur
You typed the message:
omer_biraz_kurcaladi_umarim_sorun_cozulmustur
The coded text is:
pnfs`cjsba`lvsdbmbej`vnbsjn`tpsvo`dpavmnvtuvs

Hmm birde aklıma gelmişken tr karakter konusunda
sorun yapması olası çünkü tr karakter ascii tablosundaki ilk
kısımda mevcut değil uzatılmış kısımda mevcut diye biliyorum .

Umarım yardımcı olabilmişimdir.

On 7/12/06, Alper KANAT <tunix@raptiye.org> wrote:
> Merhaba,
>
> Ekte tamamen kendi yazdığım bir kod bulunuyor. Kodda yaptığı şey basitçe
> girilen ilk hanedeki rakam kadar harfi sonrasında verilen metinde
> kaydırmak. Benim yazdığım kod bu şekilde şifrelenen bir metni çözmek
> için kullanılıyor. Örneğin,
>
> Please input encipher number followed by a message:
> 1 alper
> You typed the message:
> alper
> The plain text is:
> zkodq
>
> şeklinde bir çıktı vermeli. Bu ödevi pointer'larla yapmak zorunda
> olduğum için string fonksiyonu kullanmıyorum. Ancak sanırım malloc
> kısmından kaynaklanan bir problemden dolayı belli bir uzunluktaki
> metinden sonra program saçmalamaya başlıyor. Örnek:
>
> Please input encipher number followed by a message:
> 1 uijtjtbofybnqmf
> You typed the message:
> uijtjtbofybnqmf
> The plain text is:
> thisisanexam*mf
>
> Please input encipher number followed by a message:
> 1 alperkanatevegeldievdencikti
> You typed the message:
> alperkanatevegeldievdencikti
> The plain text is:
> zkodqjzmzsdu*gel
>
> Bu sorunu nasıl düzeltebileceğimle ilgili fikri olan var mı acaba ?
>
> --
> Alper KANAT (tunix@raptiye.org)
> http://raptiye.org
>
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
>
>

-- 
Ömer Fadıl USTA
http://www.bilisimlab.com/

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.