مروا هنآ لو سمحتوا لمساعدتي


(system) #1

السلام عليكم
بغيت منكم مساعده للي عنده خبره فى لغة ال ++c
انا عندي مشروع وتسليمه يوم الاحد
واهو كتابة برنامج
انا حاولت كثير بس مايضبط معي
اهو السؤال

[LEFT]Write a c++ program to compute and print the sum and the final carry of two 5-bit binary inputs using full adder.

your code must contain arrays, functions, loops and any other statements as you need
[/left]

وطبعاً شرح هالسؤال كالآتي .
استخدمي 4مصفوفات حجم كل وحده فيهم 5 اماالكاري حجمها 6[B][COLOR=black][FONT=Tahoma]

[/font][/color][/b]وحده للرقم الاول
وحده للرقم الثاني
والثالثه خاصه بالكاري في البدايه عطيها قيمة 0
والاخيره احفظي فيها ناتج الجمع

اذادخل المستخدم مثلا في المصفوفه الأولى رقم 10001
والمصفوفه الثانيه
[B][COLOR=darkred][FONT=Arial Black] 11111

[/font][/color][/b]انتي خذي كل خانه لوحدها مثلا 1 العنصر الاول في المصفوفة الاولى + العنصر الاول في المصفوفه الثانيه
1+1=2
اكتبي if اذا كان الناتج = 2 يصير 1 كاري و1 ناتج للجمع وهكذا
والله يجزا كل خير اللي يفيدني …لاني ماعرفت له وزياده طالبين في هالسؤال نستخدمالفنكشنو المصفوفات واللوب
وهاذا الكود اللي سويته انا
والoutputلازم يكون بهذا الشكل مثلا

1 0 1 0 1< العدد الاول اللي دخله المستخدم

[FONT=Times New Roman][SIZE=3][COLOR=#000000][FONT=Times New Roman][RIGHT][CENTER] 0 1 0 1 1 < العدد الثاني اللي دخله المستخدم

1 1 1 1 0 <<الsum

1<< الcarry[/center]
[/right]
[/font][/color][/size][/font][LEFT][RIGHT][FONT=Tahoma]

[/font][/right]
[/left]


(mohamedzobaa) #2

[CENTER][B][SIZE=4]إبنتى الكريمة
ممكن تجربى كده

#include<iostream>
usingnamespace std;
int main()
{
int a[5];
int b[5];
int sum[5] ;

[COLOR=RoyalBlue]int carry[6];
carry[6]=0;
int i ,c;

[/color] cout<<“plz enter 5 number 0 or 1:”<<endl;
for(i=0;i=4;i++)
{
cin>>a[i];
}
cout<<“plz enter 5 number 0 or 1:”<<endl;
for(i=0;i=4;i++)
{
cin>>b[i];

}

[/size][/b]for(i=4;i=0;i–)
{

c=a[i]+b[i]+carry[i+1];
if(c==0)
{
sum[i]=0;
carry[i]=0;
}
else
if(c==1)
{
sum[i]=1;
carry[i]=0;
}
else
if(c==2)
{
sum[i]=0;
carry[i]=1;
}
else
if(c==3)
{
sum[i]=1;
carry[i]=1;
}
end if
}
cout<<“sum”<<""<<“carry”<<endl;
for(i=0;i=4;i++)
{

cout<<sum[i]<<""<<carry[i]<<endl;
}

return 0;
}
[/center]


(system) #3

اخوي طلع لي 16خطأ


(mohamedzobaa) #4

جربى الكود السابق بعد تعديله
وإن شاء الله تمام

(system) #5

معليش بس في جمع عددين بالباينري نبدا من اليمين لذلك راح يكون الجمع من الاندكس الرابعة[SIZE=2]
c=a[4]+b[4]+carry[i
اما الفكرة حلك صحيحة
الله يعافيك نبي الحل بسرعة التسليم يوم الجمعة

[/size]


(system) #6

انا قاعدة انتظرك
يامهندس
جزيت الجنة


(system) #7

طيب انا سويت كود ممكن تشوفة وتصحح لى الخطا
# include <iostream>// hanan
using namespace std;
int main()
{
int ary1[5];int ary2[5];int sum[5];int carry[6];carry[5]=0;
int i,j,s,c;
cout<<
"plese enter 5 number: ";
forSIZE=2
cin>>ary1[i];
cout<<[/size]"plese enter 5 number : ";
forSIZE=2
cin>>ary2[j];

[/size]forSIZE=2
sum[4]=(ary1[4]+ary2[4]+carry[5]);
[/size]ifCOLOR=#000000[/color]
{
sum[4]=0;
carry[s-1]=0;
}
else
if
COLOR=#000000[/color]
{
sum[4]=1;
carry[s-1]=0;
}
else
if
COLOR=#000000[/color]
{
sum[4]=0;
carry[s-1]=1;
}
else
if
[SIZE=2]COLOR=#000000[/color]
{
sum[4]=1;
carry[s-1]=1;
}

cout<<[/size]"the sum is : "<<sum[i]<<" the cary is:"<<carry<<endl;
return[SIZE=2] 0;
}

[/size]


(mohamedzobaa) #8

إبنتى
أسف لتغيبى
وتم تعديل الكود طبقا لرغبتك
الرجا رؤيته مرة أخرى
وأعجبنى كثيرا دعوتك بالجنة
وفق الله كل من قال لاإله إلا الله لها

(system) #9

استاذ محمد
خلاص هذي اخر محاولة بس ياليت تفكر بالحل مرة اخيرة لني ياست
الفكرة في السوال انة كيف اجعل الخانة الرابعةمن العدد الاول تنجمع مع الخانة الرابعة من العدد الثاني بالاضافة للكاري والذي بيكون فيمة الاولى صفر وبعدها نستمر بان يجمع الخانة الثالثة من العدد الاول مع الخانة الثالثة من العدد الثاني بالاضافة للكاري
وهكذا وبعدها نستخرج المجموع والكاري الاخير علما بان الاندكس يبدا بصفر
اتمنى اكون وضحت لك السوال لان الاخت aboor اعطتك كلام طالبة من مستوى اعلى منا
ومش اكيد
بس استاذة المادة قالت انة في الحل مصفوفة ولوب واف


(mohamedzobaa) #10

[CENTER][B][SIZE=4]#include<iostream>
usingnamespace std;
int main()
{
int a[5];
int b[5];
int sum[5] ;

[COLOR=RoyalBlue]int carry[5];
a[0]=0;
b[0]=0;
carry[4]=0;
int i ,c;

[/color] cout<<“plz enter 4-Bit number 0 or 1:”<<endl;
for(i=1;i=4;i++)
{
cin>>a[i];
}
cout<<"plz enter
[/size][/b]4-Bit[B][SIZE=4] number 0 or 1:"<<endl;
for(i=1;i=4;i++)
{
cin>>b[i];

}

[/size][/b]for(i=4;i=1;i–)
{

c=a[i]+b[i]+carry[i];
if(c==0)
{
sum[i]=0;
carry[i-1]=0;
}
else
if(c==1)
{
sum[i]=1;
carry[i-1]=0;
}
else
if(c==2)
{
sum[i]=0;
carry[i-1]=1;
}
else
if(c==3)
{
sum[i]=1;
carry[i-1]=1;
}
end if
}
cout<<“sum”<<""<<“carry”<<endl;
for(i=0;i=4;i++)
{

cout<<sum[i]<<""<<carry[i]<<endl;
}

return 0;
}
[/center]