اذهب إلى المحتوى
  • 0

برنامج يفحص الرقم اذا ما كان عدد أولي أم لا باستخدام لغة c++

ترافه عشق

السؤال

Recommended Posts

  • 0

هل يمكنك تحديد اللغة المستخدمة لكتابة البرنامج؟ وأيضا أرجو منك البدء في كتابة البرنامج واطلاعنا على الأخطاء التي واجهتك لنساعدك في حلها

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال محمد أبو عواد:

هل يمكنك تحديد اللغة المستخدمة لكتابة البرنامج؟ وأيضا أرجو منك البدء في كتابة البرنامج واطلاعنا على الأخطاء التي واجهتك لنساعدك في حلها

لغه c++ انا مبتدا في دراسه هذا الغه او المجال يعصب عليه افهم واكتب برنامج 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 35 دقائق مضت قال ترافه عشق:

لغه c++ انا مبتدا في دراسه هذا الغه او المجال يعصب عليه افهم واكتب برنامج 

حسنا لنحاول بداية شرح الخوارزمية المتبعة في كتابة البرنامج :

  • نحتاج أن نطلب من المستخدم ادخال رقم ونقوم بتخزينه في متغير ليكن اسم المتغير n
  • نقوم بتمرير الرقم المدخل الى الدالة التي سوف نفحص من خلالها هل العدد أولي أو لا
  • نقوم بانشاء الدالة ليكن اسمها isPrime
  • نقوم بعمل حلقة تكرار باستخدام for, نعرف متغير للعداد الخاص بالحلقة وليكن اسمه مثلا i تبدأ قيمته من الرقم 2 لأن الرقم 1 لا يعتبر أولي ,  وتستمر الحلقة طالما قيمة العداد أقل من قيمة العدد المدخل وتزداد قيمة العداد في كل حلقة بمقدار 1
  • نفحص اذا ما كان قيمة باقي القسمة العدد المدخل على قيمة العداد تساوي صفر , اذا كانت قيمة باقي قسمة في حلقة من الحلقات تساوي صفر فهو ليس عدد أولي ونقوم بارجاع رسالة "Number is not Prime"
  • اذا جميع الحلقات تكون فيها قيمة باقي القسمة لا تساوي صفر نرجع رسالة "Number is Prime"

فيكون شكل الكود كالتالي

#include <iostream>
using namespace std;
void isPrime (int num)//أنشأنا الدالة واسمها isPrime وتستقبل متغير اسمه num
{
  for (int i = 2; i < num; i++)// حلقة تكرار يبدأ العداد من 2 وتستمر طالما العداد أقل من قيمة المتغير num
    {
      if (num % i == 0)// نفحص اذا كان ناتج باقي قسمة المتغير num على العداد تساوي صفر أم لا
	{
	  cout << "Number is not Prime." << endl;
	  break;
	}else{
	    cout << "Number is Prime." << endl;
	    break;
	}
    }
  
}
int main ()
{
int n; //عرفنا متغير لنخزن فيه القيمة المدخلة
  cout << "Enter the Number to check Prime: ";// نعرض رسالة للمستخدم أن يقوم بادخال رقم
  cin >> n;// نقوم بحفظ القيمة المدخلة في المتغير n
isPrime (n);// نقوم باستدعاء الدالة التي أنشأناها ونمرر اليها المتغير n
    
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال ترافه عشق:

شكرا لك ع لاجابه ولكن كيف اطور معلوماتي بلغه ++c

تحتاج الى تعلم الأساسيات بشكل جيد وممارستها كثيرا وحل الكثير من المسائل عليها لكي تتقنها جيدا , ثم بعد ذلك يمكنك التعمق فيها والقيام بكتابة برامجة كبيرة شيئا فشيئا , اتقان الأساسيات بشكل ممتاز سوف يسهل عليك اتقان اللغة بشكل أسرع 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
اقتباس

حسنا لنحاول بداية شرح الخوارزمية المتبعة في كتابة البرنامج :

صديقي العزيز الكود فيه خطأ أو انني لم افهم وارجو التصحيح لي ان كنت مخطئاً

البرنامج الذي كتبته لا يعطي نتيجة اذا ادخلت له رقم 2

مع العلم ان 2 عدد اولي

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ منذ ساعة مضت قال Omar Raad:

صديقي العزيز الكود فيه خطأ أو انني لم افهم وارجو التصحيح لي ان كنت مخطئاً

البرنامج الذي كتبته لا يعطي نتيجة اذا ادخلت له رقم 2

مع العلم ان 2 عدد اولي

حاول استخدام الكود التالي:

#include <iostream>
using namespace std;

void isPrime(int num) {
  if (num < 2) {
    cout << "Number is not Prime." << endl;
    return;
  }

  for (int i = 2; i < num; i++) {
    if (num % i == 0) {
      cout << "Number is not Prime." << endl;
      return;
    }
  }

  cout << "Number is Prime." << endl;
}

int main() {
  int n;
  cout << "Enter the Number to check Prime: ";
  cin >> n;
  isPrime(n);
  return 0;
}

وما تم تعديله هو:

1- الدالة isPrime كانت لا تقوم بالتحقق إذا كان الرقم 2 عددًا أوليًا بشكل صحيح، وتم إصلاح ذلك عن طريق إضافة شرط خاص للتحقق من القيمة 2 وإرجاع نتيجة مناسبة.

2- نقل جملة "Number is Prime." خارج الحلقة التكرارية، لعرض هذه الجملة عندما لا يتم العثور على عامل يقسم الرقم num بدون بقية (وهذا يعني أن الرقم هو عدد أولي)، فإذا تم وضع الجملة داخل الحلقة، فسيتم عرضها بعد أن يتم العثور على أي عامل آخر غير 2.

والآن عند المحاكاة ستجد النتيجة كالتالي:

Enter the Number to check Prime: 2
Number is Prime.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 18‏/5‏/2023 at 12:20 قال Mustafa Suleiman:

حاول استخدام الكود التالي:

#include <iostream>
using namespace std;

void isPrime(int num) {
  if (num < 2) {
    cout << "Number is not Prime." << endl;
    return;
  }

  for (int i = 2; i < num; i++) {
    if (num % i == 0) {
      cout << "Number is not Prime." << endl;
      return;
    }
  }

  cout << "Number is Prime." << endl;
}

int main() {
  int n;
  cout << "Enter the Number to check Prime: ";
  cin >> n;
  isPrime(n);
  return 0;
}

وما تم تعديله هو:

1- الدالة isPrime كانت لا تقوم بالتحقق إذا كان الرقم 2 عددًا أوليًا بشكل صحيح، وتم إصلاح ذلك عن طريق إضافة شرط خاص للتحقق من القيمة 2 وإرجاع نتيجة مناسبة.

2- نقل جملة "Number is Prime." خارج الحلقة التكرارية، لعرض هذه الجملة عندما لا يتم العثور على عامل يقسم الرقم num بدون بقية (وهذا يعني أن الرقم هو عدد أولي)، فإذا تم وضع الجملة داخل الحلقة، فسيتم عرضها بعد أن يتم العثور على أي عامل آخر غير 2.

والآن عند المحاكاة ستجد النتيجة كالتالي:

Enter the Number to check Prime: 2
Number is Prime.

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...