الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج بحاجة الى تعديل

بدأه rwad2000 في 17 يونيو 2009 · 5 رد · 409 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

البرنامج المطلوب منه تحويل الاعداد الى الانظمة الثلاثة العشري و الثماني و السادس عشر

حل السؤال بيعتمد فكرة عمل دالة وحدة بتعمل عملية التحويل المطلوب من خلال ادخال الرقم و الاساس المراد التحويل اليه

المشكلة الأولى في البرنامج انو في النظام العشري و الثماني بيطبق صح لكن الطباعة بتسير بالعكس

والمكشلة التانية ان عملية التحويل الي النظام السادس عشر فيه مشكلة

المطلوب تعديل السؤال بيحث يسير يطبع صح بفكرة ان نخزن ناتج العملية في مصفوفة و من ثم طباعة عناصر المصفوفة من الآخر للاول

كما لو فيه طريقة مختصرة للتحويل للنظام السادس عشر بتقليل الجمل الشرطية الي انا مستخدمها باكون شااااكر جدا الكم

هاداا لحل و اتمنى تردو بأسرع وقت ممكن

#include<iostream>

using namespace std;

void convert(int ,int);

int main()

{

int x,y;

convert(x,y);

system("pause");

return 0;

}

void convert(int x,int y)

{ int bin[8];

int z,i;

cout<<"Enter the number : ";

cin>>x;

cout<<"Enter the system base : ";

cin>>y;

switch(y)

{

case (2):

{

while(x>=1)

{

z=x%y;

x=x/y;

cout<<z;

}

break;

}

case (8):

{

while(x>=1)

{

z=x%y;

x=x/y;

cout<<z;

}

break;

}

case (16):

{

while(x>=1)

{

z=x%y;

x=x/y;

if(z<10)

cout<<z;

else {

if(z==10)

cout<<"A";

else if(z==11)

cout<<"B";

else if(z==12)

cout<<"C";

else if(z==13)

cout<<"D";

else if(z==14)

cout<<"E";

else if(z==15)

cout<<"F";

}

cout<<z;

}

break;

}

}

}

#2

السلام عليكم

شوف يا أخى التعديلات الآتيه

#include<iostream>
using namespace std;
void convert(int ,int);
int main()
{
int x,y;
cout<<"Enter the number : ";
cin>>x;
cout<<"Enter the system base : ";
cin>>y;
convert(x,y);
system("pause");
return 0;
}
void convert(int x,int y)
{ 
	int arr[30];
	char hex_arr[30];
	char hex[]="0123456789ABCDEF";
int z,i=0,j;
switch(y)
{
case (2):
{i=0;
while(x>0)
{
z=x%y;
x=x/y;

arr=z;
i++;
}
for(j=i-1;j>=0;j--) cout<<arr[j];
cout<<endl;
break;
}
case (8):
{
	i=0;
while(x>0)
{
z=x%y;
x=x/y;
arr[i++]=z;
}
for(j=i-1;j>=0;j--) cout<<arr[j];
cout<<endl;
break;
}
case (16):
{
	i=0;
while(x>0)
{
z=x%y;
x=x/y;
hex_arr[i++]=hex[z];

}
for(j=i-1;j>=0;j--) cout<<hex_arr[j];
cout<<endl;
i=0;
}
break;
}
}

سلام

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#3

يعيطك العافية استازي و الك جزيل الشكر

بس اذا ممكن توضيح النقطة هاي

arr[i++]=z;

ليه في النظام الثماني و السادس عشر بدأت من i++

#4

ما بتفرق أخى

arr[i++]=z;

ممكن فكها الى خطوتين

arr=z;
i++;

متكافئان

سلام

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#5

هيك الأمور تمام شكر كتييييير الك اخوي

#6

العفو أخى

ملحوظة: خاصية استقبال الرسائل الخاصه تبعك مغلقه

:rolleyes:

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

مواضيع مشابهة