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++, اذا كان لديك برامج اخرى, قم بمشاركتها معنا في التعليقات.
تذكر أن المساهمات في هذا الموضوع يجب أن تتبع إرشادات المجتمع.
لا توجد تعليقات بعد.