7 برامج سي بلس بلس (C++) عليك معرفتهم

hocine
Hocine Gasmi
Back-end Developer (Python/Django)
25/06/2022 |برمجة 💻
7 برامج سي بلس بلس (C++) عليك معرفتهم

7 برامج التي عليك معرفتهم بلغة الـ C++ منها سلسلة فيبوناتشي و عكس الرقم و رقم عاملي و برامج اخرى.

لغة البرمجة C++

C++ هي واحدة من أشهر لغات البرمجة في العالم. يمكن العثور عليها في أنظمة التشغيل الحالية وواجهات المستخدم الرسومية والأنظمة المضمنة (embedded systems). C++ هي لغة برمجة كائنية (object-oriented) والتي تعطي بنية واضحة للبرامج وتسمح بإعادة استخدام الكود، مما يقلل من تكاليف التطوير.

برامج C++

في هذا المقال الموجز سوف نتطرق الى 7 برامج مهمة قد تحتاجهم في حل مسألة او تمرين ما في مسارك الدراسي او المهني او مقابلة تشغيل لمنصب مبرمج (قد يتطلب منك معرفة بنية البيانات و خورزميات البحث و الترتيب او غيرها لمقابلة عمل ما تتعلق بالبرمجة).

 

سلسلة فيبوناتشي - Fibonnaci

سلسلة فيبوناتشي تتبع قاعدة أن كل رقم يساوي مجموع الرقمين السابقين.

يبدأ تسلسل فيبوناتشي بـ 14 عددًا صحيحًا: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233 ...

كل رقم ، بدءًا من الثالث، يلتزم بالصيغة الموصوفة. على سبيل المثال، الرقم السابعو الذي هو 8 مسبوق بالرقمين 3 و 5 و مجموعهما يساوي 8.

سلسلة فيبوناتشي - البرنامج:

 

#include <string>
#include <iostream>
using namespace std;
int main() {
    int n1=0,n2=1,n3,i,number;
    cout << "Enter the number of elements: ";
    cin >> number;
    cout << n1<< " " << n2 << " ";
    for(i=2;i<number;++i) {
        n3=n1+n2;
        cout<<n3<<" ";
        n1=n2;
        n2=n3;
    }
    return 0;
}

 

سلسلة فيبوناتشي - البرنامج باستعمال التكرار الذاتي (Recursion)

 

#include <string>
#include<iostream>
using namespace std;
void printFibonacci(int n) {
    static int n1=0, n2=1, n3;
    if(n>0){
        n3 = n1 + n2;
        n1 = n2;
        n2 = n3;
        cout << n3 <<" ";
        printFibonacci(n-1);
    }
}
int main(){
    int n;
    cout << "Enter the number of elements: ";
    cin >> n;
    cout << "Fibonacci Series: ";
    cout << "0 " << "1 ";
    printFibonacci(n-2);  // n-2, لاننا قمنا بطلع رقمين سابقين
    return 0;
}

 

عكس الرقم بالـ C++

في هذا البرنامج، نحصل على رقم كمدخل (input) من المستخدم ونعكس هذا الرقم.

مثال:

الرقم المدخل: 1234567

النتيجة: 7654321

عكس الرقم - البرنامج:

 

#include <iostream>  
using namespace std;
int main() {
    int n, reverse=0, rem;
    cout << "Enter a number: ";
    cin >> n;
    while(n!=0) {
        rem = n % 10;
        reverse = reverse * 10 + rem;
        n /= 10;
    }
    cout << "Reversed Number: " << reverse << endl;
    return 0;
}

 

الرقم العاملي - Factorial

عاملي العدد هو ناتج ضرب جميع الأعداد الصحيحة التنازلية الموجبة.

يتم الإشارة إلى عامل n بواسطة n!.

مثلا 4 عاملي تساوي:

4! = 4*3*2*1 = 24

الرقم العاملي - البرنامج باستعمال الحلقات (Loop)

 

#include <iostream>
using namespace std;
int main() {
    int i, fact=1, number;
    cout << "Enter any Number: ";
    cin >> number;
    for(i=1; i <= number; i++){
        fact=fact*i;
    }
    cout << "Factorial of " << number << " is: " << fact << endl;
    return 0;
}

 

الرقم العاملي - البرنامج ياستعمال التكرار الذاتي (Recursion)

 

#include<iostream>

using namespace std;
int main() {
    int factorial(int);
    int fact, value;
    cout << "Enter any number: ";
    cin >> value;
    fact = factorial(value);
    cout << "Factorial of a number is: " << fact << endl;
    return 0;
}
int factorial(int n) {
    if(n<0)
        return(-1); /* القيمة خاطئة*/
    if(n==0)
        return(1);  /* انهاء الشرط */
    else
        return(n*factorial(n-1));
}

 

الرقم المتناظر - Palindrome number

الرقم المتناظر هو رقم متماثل بعد عكسه.

مثال عن ذلك الارقام: 121، 34543، 343، 131، 48984 هي أرقام متناظرة.

لمعرفة اذا كانا الرقم متناضر نقوم بمقارنته مع الرقم المعكوس له,و ذلك بالاحتفاض بالأخير في متغير مؤقت ثم نعكس ذلك الرقم و بعدها نقوم بالمقارنة.

الرقم المتناظر - البرنامج

#include <iostream>
using namespace std;

int reverseNum(int n){
    int reverse=0, rem;
    while(n!=0) {
        rem = n % 10;
        reverse = reverse * 10 + rem;
        n /= 10;
    }
    return reverse;
}

int main() {
    int n;
    cout << "Enter a number: ";
    cin >> n;
    if (reverseNum(n) == n) {
        cout << "Palindrome number: " << reverseNum(n) << " == " << n << endl;
    } else {
        cout << "Not a palindrome number: " << reverseNum(n) << " != " << n << endl;
    }
    return 0;
}

الرقم الأولي - Prime number

الرقم الأولي هو الرقم الذي يقبل القسمة على 1 و نفسه فقط. بمعنى آخر, لا يمكن قسمة الأعداد الأولية على أعداد أخرى غير نفسها أو 1.

على سبيل المثال ، 2 ، 3 ، 5 ، 7 ، 11 ، 13 ، 17 ، 19 ، 23 .... هي أعداد أولية.

الرقم الأولي - البرنامج

 

#include <iostream> 
using namespace std;
int main() {
    int n, i, m=0, flag=0;
    cout << "Enter the Number to check if Prime: ";
    cin >> n;
    m = n / 2;
    for(i = 2; i <= m; i++) {
        if(n % i == 0) {
            cout << "Number is not Prime." << endl;
            flag=1;
            break;
        }
    }
    if(flag==0)
        cout << "Number is Prime." << endl;

    return 0;
}

 

رقم أرمسترونج - Armstrong number

رقم أرمسترونج هو الرقم الذي يساوي مجموع مكعبات أرقامه.

الارقام: 0 و 1 و 153 و 370 و 371 و 407 هي أرقام أرمسترونج.

مثال عن الرقم 371:

371 = (3*3*3) + (7*7*7) + (1*1*1)

 حيث:  

(3*3*3) = 27

و

(7*7*7) = 343

و

(1*1*1) = 1

و

اذا:

27 + 343 + 1 = 371

 

رقم أرمسترونج - البرنامج

 

#include <iostream>
using namespace std;

int main() {
    int n, r, sum=0, temp;
    cout << "Enter the Number=  ";
    cin >> n;
    temp = n;
    while(n > 0) {
        r = n % 10;
        sum = sum + (r*r*r);
        n = n / 10;
    }
    if(temp == sum)
        cout << "Armstrong Number." << endl;
    else
        cout << "Not Armstrong Number." << endl;
    return 0;
}

 

مبادلة رقمين بدون متغير ثالث - Swap two numbers without third variable

يمكننا مبادلة رقمين دون استخدام المتغير الثالث. هناك طريقتان:

باستعمال الـ + و -

باستعمال * و /

 

مبادلة رقمين (باستعمال * و /) - البرنامج

 

#include <iostream>

using namespace std;
int main() {
    int a=5, b=10;
    cout << "Before swap a= " << a << " b= " << b << endl;
    a = a * b; // a=50 (5*10)
    b = a / b; // b=5 (50/10)
    a = a / b; // a=10 (50/5)
    cout << "After swap a= " << a <<" b= " << b << endl;
    return 0;
}

 

مبادلة رقمين (باستعمال * و -) - البرنامج

 

#include <iostream>
using namespace std;
int main() {
    int a=5, b=10;
    cout << "Before swap a= " << a << " b= " << b << endl;
    a = a + b; // a=15 (5+10)
    b = a - b; // b=5 (15-10)
    a = a - b; // a=10 (15-5)
    cout << "After swap a= " << a <<" b= " << b << endl;
    return 0;
}

 

خاتمة:

كانت هذه 7 برامج مهمة و مفيدُُ تعلمها بلغة البرمجة C++, اذا كان لديك برامج اخرى, قم بمشاركتها معنا في التعليقات.

 

تذكر أن المساهمات في هذا الموضوع يجب أن تتبع إرشادات المجتمع.


التعليقات:

    لا توجد تعليقات بعد.