شيئية OOP
282 subscribers
53 photos
10 files
12 links
عمي رحمة لوالديك ولعشيرتك وللعزاز وللعراق وللشرق الأوسط، لا تكعد تحفظ الأكواد
الكود فهم فهم فهم مو حفظ
و السلام
Download Telegram
Q2/
Write C++ code to find the Factorial for any integer number (use appropriate function).

So/
#include <iostream>
using namespace std;

// Function to calculate factorial recursively
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}

int main() {
int number;

// Input the number from the user
cout << "Enter a non-negative integer number: ";
cin >> number;

// Calculate and display the factorial of the number
cout << "Factorial of " << number << " is: " << factorial(number) << endl;

return 0;
}
Q51: Write a function which, given an array of integers, returns the integer that appears most frequently in the array.
E.g. for the array [ 1 2 3 2 3 4 2 5 ] your function should return 2.


#include <iostream> 
using namespace std;

int mostFrequent(const int arr[], int size)
{
int mostFrequentNum = arr[0];
int maxFrequency = 1;

for (int i = 0; i < size; ++i)
{
int currentNum = arr[i];
int currentFrequency = 1;

for (int j = i + 1; j < size; ++j)
{
if (arr[j] == currentNum)
{
currentFrequency++;
}
}

if (currentFrequency > maxFrequency)
{
mostFrequentNum = currentNum;
maxFrequency = currentFrequency;
}
}

return mostFrequentNum;
}

int main()
{
int numbers[] = {1, 2, 3, 2, 3, 4, 2, 5};
int size = sizeof(numbers) / sizeof(numbers[0]);

int result = mostFrequent(numbers, size);

cout << "The most frequent number is: " << result << endl;

return 0;
}
2👍1
Q52: Write the function sum() with four parameters that calculates the arguments provided and returns their sum. Parameters: Four variables of type long.
Returns: The sum of type long.
Use the default argument 0 to declare the last two parameter of the function sum().
Test the function sum() by calling it by all three possible methods.
Use random integers as arguments.


#include <iostream>
using namespace std;

// دالة لحساب مجموع أربعة متغيرات من نوع long
long sum(long a, long b, long c = 0, long d = 0) {
return a + b + c + d;
}

int main() {
// تعيين أرقام ثابتة للاختبار
long num1 = 10;
long num2 = 20;
long num3 = 30;
long num4 = 40;

// طريقة 1: استدعاء دالة sum() مع أربع متغيرات
long result1 = sum(num1, num2, num3, num4);
cout << "Method 1: Sum of " << num1 << ", " << num2 << ", " << num3 << ", " << num4 << " is: " << result1 << endl;

// طريقة 2: استدعاء دالة sum() مع ثلاث متغيرات
long result2 = sum(num1, num2, num3);
cout << "Method 2: Sum of " << num1 << ", " << num2 << ", " << num3 << " is: " << result2 << endl;

// طريقة 3: استدعاء دالة sum() مع متغيرين
long result3 = sum(num1, num2);
cout << "Method 3: Sum of " << num1 << ", " << num2 << " is: " << result3 << endl;

return 0;
}
👍2
تغيير قيمة المعاملات باستخدام البوينتر :
#include <iostream>
using namespace std;

int p ( int *ptr){
*ptr+= 1;
return *ptr;
}
int main() {
int m = 5;

cout << p(&m) << endl;
cout << m << endl;
cout << p(&m) << endl;
}
اظهار عنصر معين من المصفوفة باستخدام البوينتر :
#include <iostream>
using namespace std;

int main() {
int arr[] = {5, 7, 9};

cout << *(arr+2) << endl;
}
طباعة مصفوفة باستخدام البوينتر :
#include <iostream>
using namespace std;

int main() {
int arr[5] = {3, 5 , 7, 9, 11};

for (int i = 0; i < 5; i++){
cout << *(arr+i) << ", ";
}
cout<<endl;
}
سواب بالبوينتر :
#include <iostream>
using namespace std;

void first(int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}

int main()
{
int m = 5, n = 3;
first(&m, &n);

cout << m << ", "<< n <<endl;

return 0;
}
سواب بالرفرنس :
#include <iostream>
using namespace std;

void first(int &a, int &b){
int temp;
temp = a;
a = b;
b = temp;
}

int main()
{
int m = 5, n = 3;
first(m,n);

cout << m << ", "<< n <<endl;

return 0;
}
سواب بالستركت :
#include <iostream>
using namespace std;

struct numb {
int a, b;
};
void swapp(numb &num) {
int temp;
temp = num.a;
num.a = num.b;
num.b = temp;
}

int main() {
numb num ={9 ,5};
swapp(num);
cout << num.a << ", " << num.b << endl;
}
ارسال قيم للفنكشن باستخدام Array و بوينتر :
#include <iostream>
using namespace std;

int* Arr(int rar[3]) {
for (int i = 0; i < 3; ++i) {
cout << rar[i] <<", ";
}
cout<<endl;
return rar;
}

int main() {
int A[3] = {5, 3, 8};
int* rar = Arr(A);
return 0;
}
declare a struct called personweight with a member variables name and weight. the struct should have an implementation to print a message " person-name you are overweight " if the person's weight is over 75kg, otherwise print a message " person-name you are fit ".

#include <iostream>
using namespace std;

struct personweight {
string name;
float weight;

void printStatus() {
if (weight > 75) {
cout << name << " you are overweight" << endl;
} else {
cout << name << " you are fit" << endl;
}
}
};

int main() {
personweight person1;
person1.name = "John";
person1.weight = 80;

personweight person2;
person2.name = "Alice";
person2.weight = 70;

person1.printStatus();
person2.printStatus();

return 0;
}
3👍1
تكدر تستبدل التعريف الي بالmain بهذا
personweight person1 = {"Alice", 70};

personweight person2 = {"John", 80};
2
سؤال مختبر الهياكل-OOP-
الفكرة مهمة جداً حل وفهم قبل المحاضرة القادمة - الإثنين -
تحياتي 🌹
1
#include <iostream>
using namespace std;
class bank {
public :
string AccountHolder;
int AccountNumber;
double balance;

void deposit (double amount) {
balance += amount;
}
void withDrawal(double amount) {

if (balance > amount ){
balance -= amount;
}
else {
cout << "balance < amount "<<endl;
}
}
void display (){
cout << "AccountHolder : " << AccountHolder << ", AccountNumber : " << AccountNumber << ", balance : " << balance << endl;
}
};


int main()
{

bank s1 = {"am0m", 3456, 360.50};
s1.deposit(50.9);
s1.withDrawal(33.6);
s1.display();
return 0;
}
3
هنا اول شيء فتحنا كلاس بأسم bank
و سويناه public
public :
لان اي شيء بداخل الكلاس يعتبر شيء خاص ممنوع الوصول له ف نكتب public حتى نكدر نستخرج هاي المتغيرات بالmain براحتنا و نستدعيها

و كتبنه المتغيرات الي رادهن ثلاث متغيرات
اسم الحساب AccountHolder ( نوع سترنغ )
رقم الحساب AccountNumber ( نوع انتجر )
الفلوس الي بالحساب balance ( نوع دوبل )
1
بعدين سوينا فنكشن
طلب من عدنا ثلاث فكشنات

الأولى deposit وهاي شغلها ايداع الشخص فلوسه بالبنك
الدكتور كال اريد الكود بسيط ما نحتاج فكرة cin
ف نحط بداخل اقواس الvoid متغير من نفس نوع متغير balance وهو متغير double لان قيمة بيها بوينتات
هنا تصير عملية جمع و نعوفها ما نسوي cout بداخلها بحسب مطلوب السؤال
1
الثانية withDrawal
هاي شغلها سحب الشخص فلوسه
نفس الأولى همين نعرف متغير اسمه amount و نوعه double بداخل الvoid و نسوي عمليه طرح ( تنقيص )
بس هنا حط if condition يعني اذا جانت الفلوس الي تريد تسحبها اكثر من فلوسك ما راح تكدر تسحب
لازم اقل من فلوسك و بحسب ما موضح بصياغة الكود
و ايضا بدون cout و نقفلها
1
الثالثة هنا الشغل بيها
اسمها display و تعرض المعلومات المحدثة
يعني بعد السحب و بعد الإيداع
مثل ما مبين بداخلها فقط cout
1
الى هنا يخلص ال class
نبدأ بالmain
هنا كتب اسم الكلاس و اسم الشخص
انا سميته s1
انت بكيفك شتسميه سميه ماكو فرق
و مثل ما موضحه ندخل بيه
اسم الحساب
رقم الحساب
الفلوس الي بالحساب
و نخليها بداخل اقواس { };
ليش نستخدم هاي الطريقة حتى الكود يصير ابسط و اسهل اكو طرق بالملزمة تطول السالفة كل حقل له سطر بحده ف يصير طويل الكود و مزعج

ورا ما ندخل القيم
نسوي استدعاءات للفنكشن
1-
deposit
نكتب لها رقم معين من يمك هو كمية الايداع انت شكد تريد تضيف للحساب بكيفك .
و نكتب اسم عنصر الكلاس مالت الmain
s1.deposit(50.9);
لازم نحط نقطة بينهن حتى يتم الاستدعاء بشكل صحيح .
2-
withDrawal
هنا نفس الحجي للي قبلها

3-
display
هنا فقط تعرض معلومات بعد الإضافة او بعد النقصان و هاي تبقى دائماً شغاله


هنا الكود تشغل بيه فنكشن وحدة فقط من فنكشنات deposit او withDrawal
حتى الي يظهر علشاشة يصير صحيح .
1