السلام عليكم ,..
انا طالب برمجه مبتدئ .. وعملت برنامج يخزن 20 حرف من اليوزر وخزنهم في ارراي
وينتهي عمل البرنامج اما عند ادخال 20 حرف او ادخال علامة الاستفهام "؟" وبنهاية البرنامج يظهر لليوزر الاحرف التي ادخلها .. ولكن
صادفتني مشكله .. هي انني اريد البرنامج ان عندما يطبع الاحرف على الشاشه
ان يحذف الاحرف المكرره .. ولكن لم استطع عملها!!
مثال على البرنامج :
اذا ادخل اليوزر A T N T L O P ?
ينتهي البرنامج و يطبع على الشاشه :
A T N L O P
بدون الاحرف المكرره وبدون علامة الاستفهام
هذا البرنامج الذي عملته .. وهو كامل بدون اخطاء ولكن بالنهايه يطبع كل الاحرف المدخله .. المكرره وغير المكرره
فمن منكم يمكنه التعديل به لكي يجعله لايطبع الاحرف المكرره
#include <iostream.h>
void main(){
const int s=20;
int c=-1,i=0,j=0,y=0;
char a,x;
cout<<"Enter Any 20 Character u Want, and to end the Program Enter \"?\"\n";
for (i=0;i<s;i++){
cin>>x;
if(x=='?') break;
else{
a=x;
c++;
}
}
for (i=0;i<=c;i++){
cout<<a;
}
}وانا فكرت بعملها على هذه الطريقه ولكن نفس النهايه .. يطبع الاحرف المكرره .. وانا لا اريده ان يطبع الاحرف المكرره!!
#include <iostream.h>
void main(){
const int s=20;
int c=-1,i=0,j=0,y=0;
char a,x;
cout<<"Enter Any 20 Character u Want, and to end the Program Enter \"?\"\n";
for (i=0;i<s;i++){
cin>>x;
if(x=='?') break;
else{
a=x;
c++;
}
}
for (i=0;i<=c;i++){
for (j=0;j<=i;j++){
if (a==a[j]){
y=1;
}
}
if(y==1){
cout<<a;
y=0;
}
}
}