السلام عليكم
اريد منكم ان تساعدوني في كتابة قواعد if then
هذه القوا عد لترتيب سلسلة من الاحرف ابجديا
وان تكون هذه القواعد اقل عدد ممكن
القواعد حاولت اكتبها بهذا الشكل
if da then ad
if dc then cd
وهكذا ولكن شعرت انها طريقة غبية
ارجو المساعدة
السلام عليكم
اريد منكم ان تساعدوني في كتابة قواعد if then
هذه القوا عد لترتيب سلسلة من الاحرف ابجديا
وان تكون هذه القواعد اقل عدد ممكن
القواعد حاولت اكتبها بهذا الشكل
if da then ad
if dc then cd
وهكذا ولكن شعرت انها طريقة غبية
ارجو المساعدة
ارجو المساعدة
نعم هذا الذي اريده
هذا كود بالسي يعمل المطلوب الفكرة تحويل الحرف الى رقم والمقارنه بين الارقام:
المهم الكود الي بلون اخضر
[background=#a6dbd9]
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char *text;
text=new char[1000];
char tmp;
cout<<"Enter TEXT :";
cin>>text;
int lentext=strlen(text);
[background=#00ff80] for(int i=0;i<lentext-1;i++)
for(int j=i+1;j<lentext;j++)
if(int(text)>int(text[j]))
{tmp=text; text=text[j]; text[j]=tmp;}[/background]
cout<<text<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}[/background]شكرا لك على المساعدة
هل استطيع كتابة هذا الكود على شكل grammer
اي قةاعد منطقية
لا اعلم هل الطريقة التاليه مناسبة في فهم الكود.
لنفرض لدينا نص عدد حروفة ن . حيث اول حرف مخزن في نص(0) وآخر حرف في نص(ن-1)
متغير يخزن حرف واحد فقط نسمية ق.
عداد من أ=0 الى أ< ن زيادة أ بمقدار واحد كل مرة.
عداد من ب= أ+1 الى ب<ن زيادة ب بمقدار واحد كل مرة
شرط (إذا كان قيمة نص(أ) > قيمة نص (ب) )
{
أجعل ق = نص(أ)
أجعل نص(أ) =نص(ب)
أجعل أجعل نص(ب) =ق
}
ملاحظة (قيمة نص) تعني رقم الآسكي المقابل للحرف.
المضلل باللون الاحمر يعمل تبديل بين مكان الحرفين في حال تحقق الشرط
thank you for help :lol:
ما معني أن تكتب نحو يرتب الحروف أبجديًا ؟
النحو يكتب للتعرف علي لغة وليس للقيام بوظيفة مثل ترتيب الحروف ، الوظائف مثل هذه تكتب لها برنامج وليس نحو ، مثل ما ذكر الأخ فهد.