ÖDEV || SEZAR ŞİFRELEMESİ

Eveet bugün ki ödevde de Sezar sifrelemesi kodlarını yazacağım. Tabi bende ödevi yaparken kodları çok araştırmıştım. Ona göre kendim uyarlayıp yazmıştım. Bunun hakkında videolar da görmüştüm anlamak için izlemek daha mantıklı.

ÖDEV:

1. Sezar verilerini gizli tutmak için bir şifreleme algoritması oluşturmuştur. Bu
algoritma şu şekilde çalışmaktadır.
* Şifreleme sadece latin alfabesindeki harfler için çalışmaktadır (a….z ve A…Z
şifrelemede büyük küçük harf ayrımı yapılmaktadır). Özel karakterler, Türkçe
karakterler ve sayılar şifrelenmemektedir.
*  Algoritma 2 tane parametre almaktadır: s şifrelenecek string ifade ve k atlama
değeri.
*  Algoritma girilen string ifadede yer alan her bir harfin ascii değerini k kadar
arttırarak şifrelenmiş karakteri üretir. Bu arttırma işlemi alfabedeki harflerin
ascii değerlerine göre döngüseldir. Başka bir değişle a harfinin K=2 için şifreli
hali c iken, z harfinin K=2 için şifreli hali b’dir. Aynı şekilde A harfinin K=3 için
şifreli hali D iken, Z harfinin K=3 için şifreli hali C’dir.
*****
1. Şifrelenecek ifade alınır. (s) ——–> middle-Outz
2. Şifreleme için k atlama değeri alınır. ——-> 2
3. Şifreli metin çıktı olarak verilir. ——–> okffng-Qwvb
Yazacak olduğunuz bir fonksiyon ile sezar şifreleme işlemini gerçekleştiriniz.
Fonksiyon 2 parametre alsın (s ve k) ve sonuç olarak şifreli ifadeyi döndürsün.

1- #include
2- #include
3- #include
4- void sezar (char[],int);
5- main()
6-
7- {
8-	int k=2;
9-	char s[100];
10-	printf("Metni giriniz: "); gets(s);
11-	
12-	sezar(s,k);
13-	
14-	getch();
15-	
16- }
17-
18- void sezar(char s1[], int k1) 
19- {	int i;
20- 	for(i=0; i< strlen(s1); i++) {
21-                                       if ((int)s1[i] !=32 )  {
22-                                       if((s1[i]>=65) && (s1[i]<=90)) 
23-                                                 { s1[i] += k1; if(s1[i]>90)
24-				                           {
25-					                      s1[i] = s1[i]%90+65;
26				                            }
27-			                          }
28-	 else if ((s1[i]>=97) && (s1[i]<=122)) { s1[i] += k1; 
29-                                      if(s1[i]>122)
30-				{
31-					s1[i] = s1[i]%122+65;
32-				}
33-			                                        }						
34-		                                                   }
35-	                                 }
36-	printf(" Metnin sifrelenmis hali: %s",s1);
37- }

İyi geceler…

Leave a Reply