السلام عليكــم ورحمـة الله وبركاتــه
كتبت برنامج decode & encode ولكن عند ترجمة الملف تظهر لي مشكله :blink:
صراحه حاولت احلها وبحثت في قوقل عن المشكله بس للاسف مالقيت شي :S
فاليت الي قد ظهرت له هالمشكله ياساعدني
المشكله في السطر 24
وهذه الرساله التي تظهر عند الترجمه(error C2109: subscript requires array or pointer type)
- #include<iostream>
- #define a 3
- #define b 13
- using namespace std;
- char abc[27]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','
u','v','w','x','y','z',' '}; - char encode(char ch,int i);
- char decode(char ch,int i);
- int main(){
- int i,flag,choice;
- char ch,x[100];
- cout <<"nPlease enter your message then type $n";
- flag = -1;
- do{
- flag++;
- cin >> a[flag];
- } while(x[flag] != ' );
- cout <<"n *******************************";
- cout <<"n * Enter your choice : *";
- cout <<"n * *";
- cout <<"n * 1. for encoding a message *";
- cout <<"n * 2. for decoding a message *";
- cout <<"n * *";
- cout <<"n ******************************nn";
- cin >> choice;
- cout <<"n";
- switch(choice){
- case 1:
- for(i=0;i<flag;i++){
- x = encode(x,i);
- cout << x;
- }break;
- case 2:
- for(i=0;i<flag;i++){
- x = decode(x,i);
- cout << x;
- }break;
- }
- return(0);
- }
- char encode(char ch,int i){
- int j,count,loc;
- char chk;
- count = 0 ;
- loc = 26;
- while(count<26){
- if(ch == abc[count]){
- loc = count;
- break;
- }
- count++;
- }
- j = loc+i*a+b;
- if(j>=27)
- do{
- j -= 27;
- } while(j>=27);
- chk = abc[j];
- return(chk);
- }
- char decode(char ch,int i){
- int j,count,loc;
- char chk;
- count = 0;
- loc = 26;
- while(count<26){
- if(ch == abc[count]){
- loc = count;
- break;
- }
- count++;
- }
- j = loc-i*a-b;
- if(j<0)
- do{
- j += 27;
- }while(j<0);
- chk = abc[j];
- return(chk);
- }
