Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

optimizing Caesar cipher analizer

$
0
0
I am new to programming and I made this code to figure out the shift amount to decode a Caesar cipher. The problem isn't that I am not getting errors, it's that it has so many if statements that it won't run. If anyone could give me help streamlining it at all, it would be greatly appreciated. I'm sorry that this code is so awfully optimized.

#include <stdio.h>

int i=0;
//looping

//frequencies
int count[26]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

//most common
int greatest=count[0];

int value=count[1];

int main(void){

char message[]="insert message here";

for(i=0; message[i]!='\0'; i++){

if(message[i]==0x61){
count[0]++;
}else

if(message[i]=='a'){
count[0]++;
}else
if(message[i]=='b'){
count[1]++;
}else
if(message[i]=='c'){
count[2]++;
}else
if(message[i]=='d'){
count[3]++;
}else
if(message[i]=='e'){
count[4]++;
}else
if(message[i]=='f'){
count[5]++;
}else
if(message[i]=='g'){
count[6]++;
}else
if(message[i]=='h'){
count[7]++;
}else
if(message[i]='i'){
count[8]++;
}else
if(message[i]=='j'){
count[9]++;
}else
if(message[i]=='k'){
count[10]++;
}else
if(message[i]=='l'){
count[11]++;
}else
if(message[i]=='m'){
count[12]++;
}else
if(message[i]=='n'){
count[13]++;
}else
if(message[i]=='o'){
count[14]++;
}else
if(message[i]=='p'){
count[15]++;
}else
if(message[i]=='q'){
count[16]++;
}else
if(message[i]=='r'){
count[17]++;
}else
if(message[i]=='s'){
count[18]++;
}else
if(message[i]=='t'){
count[19]++;
}else
if(message[i]=='u'){
count[20]++;
}else
if(message[i]=='v'){
count[21]++;
}else
if(message[i]=='w'){
count[22]++;
}else
if(message[i]=='x'){
count[23]++;
}else
if(message[i]=='y'){
count[24]++;
}else
if(message[i]=='z'){
count[25]++;
}

}

//winner
for(i=0, greatest=0; i<26; i++){
value=count[i]
if (value > greatest){
	            greatest = value;
}
}

printf("shift %i characters", count[valaue]);

return 0;
}


Viewing all articles
Browse latest Browse all 51036

Trending Articles