#include <string.h>
#define SIZE 10
int main(){
int uzunluk,i,a,b;
char ptext[SIZE];
char ctext[SIZE];
int intext[SIZE];
printf("Sifrenelenecek metni giriniz:");//ptext i al,eleman sayısını bul
gets(ptext);//diziyi alıyoruz
uzunluk=strlen(ptext);
//a ve b key değerlerini al
printf("\na degerini giriniz:");
scanf("%d",&a);
printf("\nb degerini giriniz:");
scanf("%d",&b);
int sayac=0,ks;//aralarında asla ise kontrol
if(a<26)
ks=a;
if(26<a) //küçük sayiyi bulduralım ki döngü daha az çalışsın.
ks=26;
for(i=2;i<=ks;++i)
if(a%i==0 && 26%i==0) //aralarında asal mı??
sayac=1;
if (sayac==0) {
for(i=0;i<uzunluk;i++){
intext[i]=ptext[i]-'a';
ctext[i]=((a*intext[i]+b)%26)+'a';}
printf("\naffine cipher\n");
for(i=0;i<uzunluk;i++)
printf("%c",ctext[i]);
printf("\n");
}
else
printf("\ngirdiginiz a ve 26 degeri aralarinda asal olmadigi icin bu yontemi kullanamazsiniz!!!!\n");
return 0;
}

Hiç yorum yok:
Yorum Gönder