السلام عليكم, لثقتي بهذ المنتدى, اطلب الرأيكم
تم اخذ رأيي بمسأله في ال recursion , كان سؤال بسيط. و هو كيف يمكن كتابت palindrome function بال recursion اذا كتبت ال min بهذا الشكل:
void main()
{
char a[]="radar";
char * first,*last;
first=&a[0];
last=&a[4];
if(pal(a,first,last))cout<<"yes"<<endl;
else cout<<"no"<<endl;
}كان ردي بهذا الشكل :
bool pal(char *a,char *first,char *last)
{
if(first==last)return true;
else if(first>last)return true;
else if(*first!=*last)return false;
else return pal(a,first+1,last-1);
}و عرض هذا الكلام على دكتور في الجامعه, و قال انا ما كتبت صحيح الا انه هناك خطأ في سطر معين
bool pal(char *a,char *first,char *last)
{
if(first==last)return true;
else if(first>last)return true;// this should be return false
else if(*first!=*last)return false;
else return pal(a,first+1,last-1);
}و تم صحيح السؤال على هذا النحو, مما اثار غضبي, فأرجو ان تحكموا بيننا.
جزاكم الله كل خير