Arkadaşlar merhaba buraya yazdığım kodda "ilk[x[k]-'a']++;" olan yeri anlayamadım öncelikle - işareti ne işe yarıyor ? ve dizi sonuna ++ eklememizin sebebi nedir ? genel olarak açıklar mısınız ?
#include <iostream> #include <cstdlib> #include <cstring> using namespace std; int anagr(char x[],char y[]){ int ilk [26]={0},iki[26]={0},k=0;
Fonksiyonda x parametresi olan kısıma a dizisinin adresi atılmış artık anagr fonksiyonunda x değişkeninde a dizisinin adresi var x[k]-'a' ifadesinde k=0 olduğundan aslında x[0]-'a' yapılmış burada stringin 0. karakterinde "s" harfi var yani "s" harfinden "a" harfi çıkarılmış s harfinin ascii kodu 115 , a harfinin ise 97 yani 115-97=18 kodun son hali aslında şu oldu ilk[18]++; ilk dizisinde herhangi birşey olmadığından buradaki artırma işleminde 0 dan başlanarak 1 arttırılmakta. yani ilk[0]++ ile ilk[0]+1 aynı şeydir.
örneğin:
cout<<(char) (x[0]+2 )<<endl;
yapılırsa s harfinin 2 arttırılıp ekranda u harfinin bastırıldığını görürsünüz.
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme