مشاهدة النسخة كاملة : كيف يمكنني قلب احرف اي كلمه


kookai
16-08-2006, 04:57 PM
السلام عليكم
فكرة قلب الارقام بسيطه جدا مثل عندما تريد ادخال 123 سوف يظهرلك الارقام من خلال اجراء عمليه حسابيه في سي بلس بلس يظهرلك 321

لكن كيف ندخل اي كلمه مثل
كلمت tkne وتظهر لنا العكس هكذا
enkt
انا بصراحه حاولت من خلال فور لوب وعمل array
لكن احترت لاني ما عندي خلفيه كيف التعامل مع الحروف بهذا البرنامج
انتظر منكم مساعدتي بهذا الموضوع
ولكم جزيل الشكر

Mr.Time1
16-08-2006, 06:03 PM
شئ رائع عزيزي انك تشوف ان عملية قلب رقم321 إلى 123 عملية سهلة وهذا يدل على انك تفكر صح

ايضا عملية قلب كلمة ليست بالعملية الصعبة
بالعكس بل هي سهلة للغاية ولا تحتاج إلا لتفكير بسيط

وانطلاقا من القاعدة المحببة لدي "لكل مسألة عدد لا نهائي من الحلول,ربما تتفاوت الكفاءة"
حسنا سأعرض عليك الان فكرة من مجموعة الافكار التي تؤدي إلى الحل
وكل مااتمناه منك ان تدرسه جيدا


#include<iostream>
using namespace std;
#include<cstring>
void change(char * x)
**
char *y=new char[strlen( x )];
int i=0;int j=(strlen( x ));
for(;x[i]!='\0';i++,j--)
**
y[j-1]=x[i];
}
y[(strlen( x ))]='\0';
cout<<y<<endl;
}
main()
**
char x[]="ALI";
change(x);
return 0;
}

سيقوم البرنامج بقراءة الكلمة ALI ويطبعها بالمقلوب بشكل ILA من خلال الدالة التي صممناها واسميناها change

هذا والله اعلم
تقبل تحياتي

kookai
16-08-2006, 06:13 PM
مشكور اخوي والله يعطيك العافيه
بس تحتاج الى تعديل بسيط وهو ادخال اي كلمه ويكون عدد احرفها اكثر من عشر مثلا وليس محدود مثل مثل كلمة علي فقط

اعتقد افضل طريقه استخدام المصوفات
int x[80]xxxxxxxxxxxxxxxxxxxxx
عدل

Mr.Time1
16-08-2006, 06:18 PM
وهل انا قلت 10 حروف ؟
المثال السابق الذي وضعته لك يقوم بقلب اي كلمة
بدون حجم محدد
وجرب ذلك ولاحظ
مثلا قم بتغيير كلمة ALI إلى جمله
مثلا
Undertaker Edge
ولاحظ النتيجه

لذلك لا حاجة لتعديل شئ

ايضا للمعلومية انا استخدمت المصفوفات ولكن بدون حجم محدد

kookai
16-08-2006, 06:33 PM
مشكوراخوي الكريم
لكن كيف اضيف
int x;
cin>>x>>endl;
cout <<x;
لكي استطيع ادخل اي كلمه في الشاشه السواء وبعد الضغط على انتر تظهر لي النتائج

Mr.Time1
16-08-2006, 06:44 PM
يمكن ذلك طبعا
حاول ان تجرب هذه الطريقة وتعتبر ابسط الطرق



main()
**
char x[80];
cin>>x;
change(x);
return 0;
}


لكن استاذي لماذا تقول int x
يجب ان تقول char وليس int
int عدد صحيح وليس حرف

kookai
16-08-2006, 06:48 PM
الف شكر لك اخي الكريم

والله يعطيك الف عافيه على هذه الردود الطيبه والمساعده الكريمه
بالفعل هذا ما احتاجه
تحياتي لك ولجميع العاملين في هذا المنتدى القيم

Mr.Time1
16-08-2006, 06:57 PM
العفو عزيزي
واتمنى ان اكون وفقت بالاجابة على استفساراتك
كما واتمنى ان تواصل معنا
تحياتي
Mr.Time1

أحمد زليخة
20-05-2007, 06:19 PM
عن طريق هذا الكود بواسطة لغةالجافا
import javax.swing.*;
public class Random **
public static String inverse(String n)**
String m;
if(n.length()==1)**
}
else{
m=n.substring(n.length()-1,n.length());
n=n.substring(0,n.length()-1);
n=m+inverse(n);
}
return n;
}
public static void main(String[] args) **
// TODO Auto-generated method stub
String n=JOptionPane.showInputDialog("Input the words youwant to reseve");
n=inverse(n);
System.out.print(n);
}
}

أحمد زليخة
20-05-2007, 06:28 PM
لا تيأس أبدا
أحمد زليخة
كلية الهندسة
جامة الأسكندرية
قسم حاسبات ونظم