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

اريد الاجابه عن سوال في c++

بدأه qute في 6 مايو 2011 · 10 رد · 1,731 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ...... اشكركم على المنتدى الاكثر من رائع اللي فادني كثير الله يجزاكم خير

بدخل في الموضوع ..... انا عندي سؤال عليه خمس درجات وعجزت احله ما عرفت له ياليت تفيدوني ( انا سويت بحث في المنتدى مالقيت جواب لسؤال )

وهذا السؤال

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

ياليت تفيدوني والله اني محتاجه لخمس درجات..... وشكرا .....

#2

لو تضع محاولتك لساعدتنا على ان نساعدك

بالتوفيق


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#3
اقتباس
لو تضع محاولتك لساعدتنا على ان نساعدك

و بالتالي فأنت تستحق المساعدة لأنك ساعدت نفسك للحصول على مساعدة .. فالمساعدة تساعد في مساعدة الأشخاص الذي يحبون المساعدة و لا يمكن للمساعدة أن تساعد من يساعد كل مساعدة بغرص مساعدته في كل مساعدة !! لأن المساعدة ما هي إلا مساعدة من أجل مساعدة المحتاجين الذين يريدون المساعدة فمساعدتهم تساعدنا نحن في مساعدتهم و تقدمهم نحو الأفضل.

بالتوفيق.

−1
#4

انا اعرف اني راح استخدم for و if

ال if اعرف اني راح احط فيها الاحتمالات التاليه اذا كا ن 0و0 طلع 0

واذا كان 0و1 طلع 1

واذا كان 1و1 طلع 0 والcarry 1

واذا كان 1و 1و1 طلع 1 والcarry 1

وطالب في النهايه الناتج النهائي واالcarry يبي قيمته لحال .... هذا اللي عرفته

والله والله حاولت بس عجززززت اكتبها فجر راسي هالسوال ياليت تشرح لي السوال و انا ترى مرره مبتدئه في البرمجه وما حطوا عليه 5 درجات الا يدرون اننا بنحوس فيه ... ارجو المساعده

#5

انا كتبت البرنامج بغرض المساعدة ولكن بغرض ان اتعلم اكثر

فانا مازلت مبتدئ فى ++c واتوقع ان هذا البرنامج سئ

فما رأيكم؟

/*
 * sum.cpp
 *
 *  Created on: ٠٧‏/٠٥‏/٢٠١١
 *  	Author: nour_3eny
 */

#include <iostream>
using std::cout;
using std::endl;

const int LENGTH = 5;

char sumChars(char x, char y, char& carry);

int main()

{

	char first[LENGTH + 1] = "10100";// 20
	char second[LENGTH + 1] = "01110";// 14
	char result[LENGTH + 1] = { 0 };
	char carry = '0';

	cout << first << " + " << second << " = ";

	for (int i = LENGTH - 1; i >= 0; --i)

	{

		result = sumChars(first, second, carry);

		if (carry == '1')

		{

			if (i == 0)
				break;

			if (first[i - 1] == '0')

			{
				first[i - 1] = '1';
				carry = '0';

			} else

			{

				first[i - 1] = '0';
				carry = '1';

			}

		}

	}

	cout << result << "\n,carry = " << carry << endl;

	return 0;
}

char sumChars(char x, char y, char& carry)

{
	char res = '0';

	if (x == '0' && y == '0')

	{

		res = '0';
		carry = (carry == '1') ? '1' : '0';

	} else if (x == '0' && y == '1')

	{

		res = '1';
		carry = (carry == '1') ? '1' : '0';

	} else if (x == '1' && y == '0')

	{

		res = '1';
		carry = (carry == '1') ? '1' : '0';

	} else if (x == '1' && y == '1')

	{

		res = '0';
		carry = '1';

	}

	//cout << x << " and " << y << " = " << res << " ,carry = " << carry << endl;
	return res;
}

فى انتظار اى ملحوظة

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 8 مايو 2011 في 09:14

1


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#6

شكرارررررر لك . :) ... ارجو من اللي فاهم يرد ما اقدر اعلق

تم تعديل هذه المشاركة بواسطة qute في 9 مايو 2011 في 18:51

#7

هذي في الحقيقة خوارزمية الحل : وليست الكود :)

carry= 0
for i = n : 1 do 
if A+B+carry = 0 then 
c = 0
else if A+B+carry=1 then 
c = 1 
else if A+B+carry = 2 then 
c = 0 
carry = 1 
else if A+B+carrey = 3 then
c = 1 
carrey = 1 
return Array C

لعلي افدتك بشئ .

#8

بس ليش استخدمنا الarray ?? :blush:

#9

اخي ليس ما تستخدم الــ Bitwise operators?

معروف انك لما تجمع بيت bit مع bit فانك بتسوي XOR بينهم بينما الكاري بين البيتين هو B1 AND B2

ومن ثم تعمل XOR للكاري مع البيتين التاليين وهكذا

تم تعديل هذه المشاركة بواسطة mental-driller في 12 مايو 2011 في 02:06

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#10

شوف البرنامج هذا باستخدام الbitwise ، اولا بنفحص ان العدد بين 0 و 31 يعني لازم يكون 5 bit بعد كده نحولة الى ثنائي binary نجمع البيناري

بعدين نحول العدد البيناري مرة ثانية الى عدد عشري

#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std ;

int main(){
	unsigned int firstNumber, secondNumber, carry, resultDecimal;
	firstNumber = secondNumber = carry = resultDecimal =0;
	unsigned int firstA[5]={0}, secondA[5]={0}, result [5]={0};

	do{
		cout << "Enter the first number "<< endl;
		cin >> firstNumber;
		cout << "Enter the second number" << endl;
		cin>> secondNumber;
	}while (firstNumber > 31 || firstNumber < 0 || secondNumber > 31 || secondNumber < 0);

	for (int i = 0 ; i < 5 ; i++){
		firstA = (firstNumber & (unsigned int)pow((double)2,i) )== (unsigned int)pow((double)2,i)?1:0;
		secondA = (secondNumber & (unsigned int)pow((double)2,i)) == (unsigned int)pow((double)2,i)?1:0;
	     result = (firstA ^ secondA ^ carry) ;
	     carry = (firstA & secondA) | (carry & (firstA ^ secondA));
	}

	cout << "The result is"<<endl;
	for (int i = 0; i < 5 ; i++)
		cout << result[5-i-1]<< "\t";
     cout << endl ;
	cout << "The carry is " << carry << endl ;
	for(int i = 0 ; i < 5 ; i++)
		resultDecimal += (unsigned int)pow((double)2, i)*result;

	cout << "The number in decimal is: " << resultDecimal << endl ;
system("pause");	
return 0 ;
}

تم تعديل هذه المشاركة بواسطة mental-driller في 13 مايو 2011 في 06:33

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#11

سلام .لوسمحتم ممكن مساعد

ممكن كود هذا البرنامج ضروري .اكتبي برنامج يحكي تقارير المصنفه على النحو التالي

من 90 الى 100 ممتاز A

lمن 80 الى 89 جيدجداB

من 70 الى 79 جيدC

من 60الى 69 مقبولD

وماعد ذلك رسوب وبعد ذلك يدخل المستخدم رمز التقدير ويعطيه التقدير صراحتا

الله يسعدكم اريد ضروري الكود وشكرا

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