اختبار العدد زوجي أو فردي باستخدام switch

-أكتب برنامج يقوم باختبار العدد زوجي أو فردي ثم أطبع النتيجة.

الحل:

#include <iostream>
using namespace std;
void main()

{
 int x;

 cout << "Enter a number: ";
 cin >> x;

 switch (x % 2)
 {
    case 0: cout << "even"<<endl;
     break;
   default: cout << "odd" << endl;;
 }

 system("pause");

}
Advertisements

معدّل الدرجات

-أكتب برنامج يقرأ من المستخدم عدد الطلاب الذين يريد حساب المعدل لهم و درجة كل طالب ، وتحقق من درجة الطالب بأن لاتكون سالبة ولاتزيد على 20 ، ثم أحسب المعدّل وأطبع النتيجة.

*المعدّل = مجموع الدرجات ÷ عدد الطلاب .

الحل:

#include <iostream>
using namespace std;
void main()

{
   float grade=0, total = 0, average=0;
   int counter = 0, NumOfStudent;

 //number of students
    cout << "Enter the number of students: ";
    cin >> NumOfStudent;

 for ( ; counter < NumOfStudent ; counter++)
 {
    //read grade
       cout << "Enter grade for student#"<<counter+1<<"\t";
       cin >> grade;

    //validate input
     if (grade < 0 || grade > 20)
       do{

         cout << "...Wrong input!...\nEnter grade for student#" << (counter+1) << "\t";
        cin >> grade;

         } while (grade < 0 || grade > 20);

   //grades sum
       total += grade;
 }

 //calc. average and print result
     average = total / counter;
     cout << "The average for the "<<counter<<" students is: "<< average <<endl;

 system("pause");

}

برنامج بسيط لتحويل حرف كبير إلى صغير

برنامج لتحويل الحرف الكبير إلى صغير باستخدام دالّة char والتي تقوم بطباعة الرمز المقابل للرقم في نظام ترميز Ascii Code .

#include <iostream>
using namespace std;

void main()

{
 char ch = 'A';
 cout << char(ch + 32);
 system("pause");

}

القراءة من Array والتخزين في Array آخر

-أفترض أن لديك array مكوّن من 20 عنصر ، يحوي درجات طلاب ، درجة النجاح 75 من 100 ، 50% من الطلاب  حصلوا على درجة أقل من 75 أي 10 من الطلاب لم يجتازوا المقرر.

المطلوب هو إنشاء two arrays الأول لتخزين رقم الـ Index للطالب الراسب و الـ array الاخر لتخزين درجة الطالب الراسب ، ثم أطبع درجة الطالب الراسب مع الـ Index كما يلي :

The student#Index is failed with grade grade

الحل:

#include<iostream>
using namespace std;


int main()
{

 int grade[20] = { 82, 74, 36, 100, 48, 90, 95, 87, 60, 72, 89, 56, 43, 97, 100, 54, 78, 20, 99, 69 };
 int failed[10] , index[10];
 int index_num = 0;

 for (int i = 0; i<20; i++)
 if (grade[i] < 75) 
 {
 failed[index_num] = grade[i];
 index[index_num] = i;
 index_num++;
 }
 for (int i = 0; i< 10 ; i++)
 cout << "The student# " << index[i] << " is failed with grade " << failed[i] << endl;


 system("pause");

}

Array of integers – Fibonacci Sequence

-أنشئ  array of integers مكوّن من 15 عنصر ، العنصر الأول هو رقم 1 ، والعنصر الثاني هو رقم 2 ، والعنصر الثالث عبارة عن (العنصر الأول + العنصر الثاني ) ، والعنصر الرابع عبارة عن (العنصر الثالث + العنصر الثاني )..الخ (سلسلة فيبوناتشي)  ، ثم أطبع محتوى هذا الـ array .

الحل:

#include <iostream>
using namespace std;

void main()
{
 int ar[15] = { 1, 2 };
 for (int i = 2; i< 15 ; i++)
 ar[i] = ar[i - 2] + ar[i - 1];

 //print
 for (int i = 0; i< 15; i++)
 cout << ar[i] << " ";
 system("pause");

}

مضاعفات العدد

-أكتب دالة تستقبل عددين صحيحين ، تقوم بـ return true  إذا كان العدد الثاني من مضاعفات العدد الأول و return false في أي حالة أخرى.

الحل:

#include <iostream>
#include <string>
using namespace std;

bool multiple(int x , int y)
{
 if (y%x == 0)
 return true;

 return false;
}
void main()
{
 int num1, num2;
 cout << "Enter two numbers: ";
 cin >> num1 >> num2 ;
 multiple(num1, num2);

 system("pause");

}

-أكتب البرنامج بطريقة أخرى بحيث تكون الدالة return void واستخدم مفهوم Call-by-Reference ، ويجب عدم استخدام global variables .

الحل:

#include <iostream> 
using namespace std;

void multiple(int &x, int &y , bool & result)
{
 
 cout << "Enter two numbers: ";
 cin >> x >> y;


 if (y%x == 0) result = true;
 
 else result = false;
}
void main()
{
 int a, b;
 bool result;
 multiple(a, b , result );
 if (result) cout << b << " is a multiple of " << a << endl;
 else cout << b << " is not a multiple of " << a << endl;


 system("pause");
}


جدول الضرب

-أكتب برنامج يقرأ من المستخدم رقم ثم يطبع له جدول الضرب لهذا الرقم وكرّر العملية حتى يختار المستخدم الخروج .

الحل:

#include <iostream>
using namespace std;

int main()
{
    int num;

do{
        cout << "\nEnter a number OR 0 to end: ";
        cin >> num;

        if (num != 0)
        {
            cout << "--Multiplication Table of " << num << "--"<<endl;
            for (int i = 1; i <= 10; i++)
                cout << num << " x " << i << " = " << num*i << endl;
        }
} while (num != 0);

    system("pause");
    return 0;
}