ar
Feedback
الگوریتم و فلوچارت

الگوریتم و فلوچارت

الذهاب إلى القناة على Telegram

✅ برنامه نویسی را از اینجا شروع کنید‌؛ آموزش طراحی فلوچارت و الگوریتم | مثال‌های عملی + دانلود رایگان | مناسب برای برنامه‌نویسان مبتدی #flowgorithm گروه چت حل تمرین https://t.me/flowchart_algorithmGp جهت ارتباط با ادمین و تبلیغات @Programer24h 💻

إظهار المزيد
1 511
المشتركون
+124 ساعات
-257 أيام
-19430 أيام
أرشيف المشاركات
آرایه‌ها (Arrays) در زبان C++ مجموعه‌ای از عناصر هم‌نوع هستند که در یک مکان حافظه پیوسته ذخیره می‌شوند. هر عنصر آرایه با یک شاخص (Index) شناسایی می‌شود که از 0 شروع می‌شود. آرایه‌ها به ما این امکان را می‌دهند که به راحتی داده‌های مشابه را ذخیره و مدیریت کنیم. ▎تعریف آرایه آرایه‌ها می‌توانند انواع مختلفی داشته باشند، مانند int, float, char و غیره. برای تعریف یک آرایه، باید نوع داده، نام آرایه و اندازه آن را مشخص کنید. ▎نحوه تعریف آرایه
type arrayName[arraySize];
مثال در این مثال، یک آرایه از نوع int تعریف می‌کنیم که 5 عنصر دارد و سپس مقادیر آن را مقداردهی و چاپ می‌کنیم.
#include <iostream>
using namespace std;

int main() {
    // تعریف یک آرایه از نوع int با 5 عنصر
    int numbers[5];

    // مقداردهی به عناصر آرایه
    numbers[0] = 10;
    numbers[1] = 20;
    numbers[2] = 30;
    numbers[3] = 40;
    numbers[4] = 50;

    // چاپ عناصر آرایه
    cout << "عناصر آرایه:" << endl;
    for (int i = 0; i < 5; i++) {
        cout << "numbers[" << i << "] = " << numbers[i] << endl;
    }

    return 0;
}
توضیحات کد: 1. تعریف آرایه:    • ما یک آرایه به نام numbers از نوع int با 5 عنصر تعریف کرده‌ایم. 2. مقداردهی به عناصر:    • هر عنصر آرایه با استفاده از شاخص آن مقداردهی شده است. 3. چاپ عناصر آرایه:    • با استفاده از یک حلقه for, عناصر آرایه را چاپ می‌کنیم. ▎خروجی برنامه:
عناصر آرایه:
numbers[0] = 10
numbers[1] = 20
numbers[2] = 30
numbers[3] = 40
numbers[4] = 50
این مثال ساده نشان می‌دهد که چگونه می‌توانیم یک آرایه در C++ تعریف کنیم، به آن مقادیر اختصاص دهیم و عناصر آن را چاپ کنیم.👍

دانشجویان عزیز، با سلام، ظاهراً تعدادی از شما هنوز در یاد گیری مفهوم آرایه ها مشکل دارید، نگران نباشید، یک توضیح در این مورد برای شما قرار می دهم. 👇

برای نوشتن برنامه‌ای به زبان C++ که یک تاس را 10000 بار پرتاب کند و تعداد دفعات آمدن هر وجه را در یک آرایه ذخیره کند، می‌توانیم از توابع تصادفی استفاده کنیم. در این برنامه، از آرایه‌ای با 6 عنصر برای ذخیره تعداد دفعات آمدن هر وجه تاس (از 1 تا 6) استفاده خواهیم کرد. در زیر کد مربوطه را مشاهده می‌کنید:
#include <iostream>
#include <cstdlib> // برای تابع rand و srand
#include <ctime>   // برای تابع time

using namespace std;

int main() {
    const int numRolls = 10000; // تعداد پرتاب‌ها
    int counts[6] = {0}; // آرایه برای شمارش تعداد دفعات آمدن هر وجه (1 تا 6)

    // تنظیم seed برای تولید اعداد تصادفی
    srand(static_cast<unsigned int>(time(0)));

    // پرتاب تاس
    for (int i = 0; i < numRolls; i++) {
        int roll = rand() % 6; // تولید عدد تصادفی بین 0 تا 5
        counts[roll]++; // افزایش شمارنده مربوط به وجه تاس
    }

    // نمایش نتایج
    cout << "نتایج پرتاب تاس (10000 بار):" << endl;
    for (int i = 0; i < 6; i++) {
        cout << "وجه " << (i + 1) << ": " << counts[i] << " بار" << endl;
    }

    return 0;
}
توضیحات کد: 1. شامل کردن کتابخانه‌ها:    • cstdlib برای توابع تصادفی (rand و srand).    • ctime برای تابع time که به ما کمک می‌کند تا seed تصادفی تولید کنیم. 2. تعریف متغیرها:    • numRolls تعداد پرتاب‌ها را مشخص می‌کند.    • counts[6] آرایه‌ای برای شمارش تعداد دفعات آمدن هر وجه تاس است که با صفر مقداردهی اولیه شده است. 3. تنظیم Seed:    • با استفاده از srand و time(0), seed تصادفی تنظیم می‌شود تا در هر بار اجرای برنامه اعداد تصادفی متفاوتی تولید شود. 4. پرتاب تاس:    • در یک حلقه for, عدد تصادفی بین 0 تا 5 تولید می‌شود (که معادل وجه‌های تاس است) و شمارنده مربوط به آن وجه در آرایه counts افزایش می‌یابد. 5. نمایش نتایج:    • پس از پایان حلقه، نتایج در یک حلقه دیگر چاپ می‌شوند. ▎نحوه اجرای برنامه: • کد را در محیط C++ خود کپی کرده و اجرا کنید. • نتیجه‌ای شامل تعداد دفعات آمدن هر وجه تاس (از 1 تا 6) را مشاهده خواهید کرد. ▎خروجی نمونه: نتایج پرتاب تاس (10000 بار): وجه 1: 1663 بار وجه 2: 1669 بار وجه 3: 1673 بار وجه 4: 1670 بار وجه 5: 1663 بار وجه 6: 1662 بار این خروجی به شما کمک می‌کند تا ببینید که هر وجه تاس چقدر به طور تصادفی ظاهر شده است.

برنامه ای به زبان c++ بنويسيد که يک تاس را ۱۰۰۰۰ بار پرتاب کرده و توسط آرايه­ ای تعداد دفعات آمدن هر وجه را حساب کند. ( تعداد دفعات آمدن هر وجه را يک عنصر آرايه ­ای در نظر بگيريد)

برای رسم نمودار میله‌ای افقی در C++، می‌توانیم از آرایه‌ای برای ذخیره اعداد استفاده کنیم و سپس با استفاده از حلقه‌ها، میله‌ها را به صورت متنی در کنسول چاپ کنیم. در اینجا برنامه‌ای برای رسم نمودار میله‌ای افقی برای اعداد {2, 5, 3, 9, 15, 7, 8} نوشته شده است:
#include <iostream>
using namespace std;

int main() {
    // تعریف آرایه و مقداردهی آن
    int data[] = {2, 5, 3, 9, 15, 7, 8};
    int size = sizeof(data) / sizeof(data[0]); // محاسبه اندازه آرایه

    cout << "نمودار میله‌ای افقی:" << endl;

    // حلقه برای رسم میله‌ها
    for (int i = 0; i < size; i++) {
        cout << "میله " << (i + 1) << ": "; // شماره میله
        for (int j = 0; j < data[i]; j++) {
            cout << "*"; // رسم هر میله با ستاره
        }
        cout << " (" << data[i] << ")" << endl; // نمایش مقدار عددی
    }

    return 0;
}
توضیحات: 1. تعریف آرایه: آرایه data شامل اعداد {2, 5, 3, 9, 15, 7, 8} تعریف شده است. 2. محاسبه اندازه آرایه: با استفاده از sizeof، اندازه آرایه محاسبه می‌شود. 3. رسم میله‌ها:    • یک حلقه for برای تکرار بر روی هر عنصر آرایه وجود دارد.    • درون حلقه، یک حلقه تو در تو برای چاپ ستاره‌ها به تعداد مقدار هر عنصر استفاده شده است.    • بعد از رسم هر میله، مقدار عددی آن نیز چاپ می‌شود. ▎نحوه اجرای برنامه: • برنامه را در محیط C++ خود کپی کرده و اجرا کنید. • خروجی به صورت نمودار میله‌ای افقی با ستاره‌ها و مقادیر عددی خواهد بود. ▎خروجی نمونه: نمودار میله‌ای افقی: میله 1: ** (2) میله 2: ***** (5) میله 3: *** (3) میله 4: ********* (9) میله 5: *************** (15) میله 6: ****** (7) میله 7: ******** (8) این خروجی به شما کمک می‌کند تا به راحتی مقادیر را بصورت بصری مشاهده کنید.

برنامه ای به زبان c++ بنويسيد که توسط آرايه، نمودار ميله­ ای افقی برای اعداد {۲, ۵, ۳, ۹, ۱۵, ۷, ۸} رسم کند.

در زیر یک برنامه ساده به زبان C++ نوشته شده است که یک متن را از کاربر دریافت می‌کند، آن را در یک آرایه (به صورت کاراکترها) ذخیره می‌کند و سپس آرایه را از آخر به اول چاپ می‌کند:
#include <iostream>
using namespace std;

int main() {
    const int MAX_LENGTH = 100; // حداکثر طول متن
    char inputText[MAX_LENGTH]; // آرایه برای ذخیره متن

    cout << "یک متن وارد کنید: ";
    cin.getline(inputText, MAX_LENGTH); // دریافت متن شامل فضاهای خالی

    // محاسبه طول متن
    int length = 0;
    while (inputText[length] != '0') {
        length++;
    }

    // چاپ آرایه از آخر به اول
    cout << "متن معکوس شده: ";
    for (int i = length - 1; i >= 0; i--) {
        cout << inputText[i];
    }
    cout << endl; // خط جدید بعد از چاپ

    return 0;
}
توضیحات: 1. تعریف آرایه: یک آرایه inputText با حداکثر طول 100 کاراکتر برای ذخیره متن ورودی تعریف شده است. 2. دریافت متن: با استفاده از cin.getline()، متن شامل فضاهای خالی از کاربر دریافت می‌شود. 3. محاسبه طول متن: با استفاده از یک حلقه while، طول متن محاسبه می‌شود. 4. چاپ معکوس آرایه: با استفاده از یک حلقه for، آرایه از آخر به اول چاپ می‌شود. 5. خط جدید: بعد از چاپ متن معکوس شده، یک خط جدید برای زیبایی خروجی اضافه شده است.

یک برنامه با زبان c++ بنویسید که یک متن را دریافت کند و در یک آرایه قرار دهد و سپس آرایه را از آخر به اول چاپ کند.

در زیر یک برنامه ساده به زبان C++ نوشته شده است که یک عدد صحیح را از کاربر دریافت می‌کند و بررسی می‌کند که آیا این عدد اول است یا خیر. اگر عدد اول باشد، "ok" را چاپ می‌کند و اگر عدد اول نباشد، "no" را چاپ می‌کند.
#include <iostream>
using namespace std;

bool isPrime(int num) {
    if (num <= 1) return false; // اعداد کمتر از 2 اول نیستند
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) return false; // اگر عدد قابل تقسیم باشد، اول نیست
    }
    return true; // اگر هیچ مقسوم‌علیه‌ای پیدا نشد، عدد اول است
}

int main() {
    int number;
    cout << "یک عدد صحیح وارد کنید: ";
    cin >> number;

    if (isPrime(number)) {
        cout << "ok" << endl; // عدد اول است
    } else {
        cout << "no" << endl; // عدد اول نیست
    }

    return 0;
}
توضیحات: 1. تابع isPrime: این تابع یک عدد صحیح را به عنوان ورودی می‌گیرد و بررسی می‌کند که آیا این عدد اول است یا خیر. اگر عدد کمتر از یا برابر با ۱ باشد، false برمی‌گرداند. در غیر این صورت، از ۲ تا جذر عدد را بررسی می‌کند و اگر عددی پیدا شود که بتواند آن را تقسیم کند، false برمی‌گرداند.   2. تابع main: در این تابع، از کاربر خواسته می‌شود که یک عدد صحیح وارد کند. سپس با استفاده از تابع isPrime بررسی می‌شود که آیا عدد اول است یا خیر و نتیجه چاپ می‌شود.

عدد اول (Prime Number) به عددی گفته می‌شود که تنها دو مقسوم‌علیه دارد: ۱ و خود عدد. به عبارت دیگر، یک عدد اول بزرگ‌تر از ۱ نمی‌تواند به هیچ عدد صحیح دیگری جز ۱ و خود آن عدد تقسیم شود. ▎تعریف دقیق: • عدد  p  عدد اول است اگر:   •  p > 1   • و تنها مقسوم‌علیه‌های آن ۱ و  p  باشد. ▎مثال‌ها: 1. عدد 2:    • مقسوم‌علیه‌ها: ۱ و ۲    • بنابراین، ۲ یک عدد اول است.    2. عدد 3:    • مقسوم‌علیه‌ها: ۱ و ۳    • بنابراین، ۳ نیز یک عدد اول است. 3. عدد 4:    • مقسوم‌علیه‌ها: ۱، ۲ و ۴    • بنابراین، ۴ یک عدد اول نیست. 4. عدد 5:    • مقسوم‌علیه‌ها: ۱ و ۵    • بنابراین، ۵ یک عدد اول است. 5. عدد 9:    • مقسوم‌علیه‌ها: ۱، 3 و 9    • بنابراین، ۹ یک عدد اول نیست. ▎نکته: • عدد ۲ تنها عدد اول زوج است. تمام اعداد اول دیگر فرد هستند. • اعداد اول اولیه شامل: ۲، ۳، ۵، ۷، ۱۱، ۱۳، ۱۷ و غیره هستند.

برای حل این سوال ابتدا باید معنی عدد اول توضیح داده شود 👇

قسمت دوم نمونه سوال در مورد تعیین عدد اول است.

در زیر یک برنامه به زبان C++ نوشته شده است که یک عدد 3 رقمی را از کاربر دریافت می‌کند و تعداد ارقام زوج آن را محاسبه و چاپ می‌کند:
#include <iostream>
using namespace std;

int main() {
    int number;
    cout << "لطفاً یک عدد 3 رقمی وارد کنید: ";
    cin >> number;

    // بررسی اینکه آیا عدد وارد شده 3 رقمی است یا نه
    if (number < 100 || number > 999) {
        cout << "عدد وارد شده باید 3 رقمی باشد." << endl;
        return 1;
    }

    int countEven = 0;

    // بررسی هر رقم عدد
    for (int i = 0; i < 3; i++) {
        int digit = number % 10; // دریافت رقم آخر
        if (digit % 2 == 0) { // بررسی زوج بودن رقم
            countEven++;
        }
        number /= 10; // حذف رقم آخر
    }

    cout << "تعداد ارقام زوج: " << countEven << endl;

    return 0;
}
توضیحات برنامه: 1. برنامه از کاربر یک عدد 3 رقمی دریافت می‌کند. 2. بررسی می‌کند که آیا عدد وارد شده 3 رقمی است یا خیر. 3. با استفاده از یک حلقه، هر رقم عدد را بررسی می‌کند و در صورتی که رقم زوج باشد، شمارش آن را افزایش می‌دهد. 4. در نهایت تعداد ارقام زوج را چاپ می‌کند.

یک برنامه با زبان c++ بنویسید که یک عدد 3 رقمی را دریافت کند و تعداد ارقام زوج آن را در خروجی چاپ کند.

تعداد ارقام زوج در یک عدد 3 رقمی، تمرین اول این صفحه
تعداد ارقام زوج در یک عدد 3 رقمی، تمرین اول این صفحه

در زیر یک برنامه ساده به زبان C++ نوشته شده است که یک عدد را به عنوان ورودی (به ثانیه) دریافت می‌کند و آن را به ساعت، دقیقه و ثانیه تبدیل کرده و در خروجی نمایش می‌دهد.
#include <iostream>

using namespace std;

int main() {
    int totalSeconds;

    // دریافت ورودی از کاربر
    cout << "لطفاً تعداد ثانیه‌ها را وارد کنید: ";
    cin >> totalSeconds;

    // محاسبه ساعت، دقیقه و ثانیه
    int hours = totalSeconds / 3600; // تعداد ساعت
    int minutes = (totalSeconds % 3600) / 60; // تعداد دقیقه
    int seconds = totalSeconds % 60; // تعداد ثانیه

    // نمایش نتیجه
    cout << totalSeconds << " ثانیه برابر است با: " 
         << hours << " ساعت، " 
         << minutes << " دقیقه و " 
         << seconds << " ثانیه." << endl;

    return 0;
}
توضیحات: 1. برنامه ابتدا از کاربر می‌خواهد که تعداد ثانیه‌ها را وارد کند. 2. سپس با استفاده از عملیات تقسیم و باقی‌مانده، تعداد ساعت، دقیقه و ثانیه را محاسبه می‌کند. 3. در نهایت، نتیجه را به صورت خوانا در خروجی نمایش می‌دهد.

یک برنامه با زبان c++ بنویسید که یک عدد را بر حسب ثانیه دریافت کند و آن را به ساعت و دقیقه و ثانیه در خروجی چاپ کند.

سوال دریافت عدد برحسب ثانیه
سوال دریافت عدد برحسب ثانیه

در زیر یک برنامه ساده به زبان C++ نوشته شده است که مطابق با توضیحات شما عمل می‌کند. این برنامه یک عدد را به عنوان حقوق ورودی می‌گیرد و مالیات و بیمه را محاسبه می‌کند و در نهایت حقوق خالص را نمایش می‌دهد.
#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    double salary, tax, insurance, netSalary;

    // دریافت ورودی از کاربر
    cout << "لطفاً حقوق خود را وارد کنید: ";
    cin >> salary;

    // محاسبه مالیات
    if (salary > 12000000) {
        tax = salary * 0.15; // 15 درصد مالیات
    } else {
        tax = salary * 0.12; // 12 درصد مالیات
    }

    // محاسبه بیمه
    insurance = salary * 0.05; // 5 درصد بیمه

    // محاسبه حقوق خالص
    netSalary = salary - tax - insurance;

    // نمایش نتیجه
    cout << fixed << setprecision(2); // تنظیم دقت برای نمایش دو رقم اعشار
    cout << "حقوق خالص شما: " << netSalary << " تومان" << endl;

    return 0;
}
توضیحات: • برنامه ابتدا حقوق را از کاربر دریافت می‌کند. • سپس با توجه به مقدار حقوق، مالیات مناسب را محاسبه می‌کند. • بعد از آن، بیمه را محاسبه کرده و در نهایت حقوق خالص را با کسر مالیات و بیمه محاسبه می‌کند. • نتیجه نهایی به صورت دو رقم اعشار نمایش داده می‌شود.

یک برنامه با زبان c++ بنویسید که یک عدد را به عنوان حقوق بگیرد و اگر بالای 12 میلیون بود 15 درصد مالیات کسر کند و اگر زیر 12 میلیون بود 12 درصد مالیات کم کند و در نهایت 5 درصد بابت بیمه کسر کند و نتیجه را در خروجی چاپ کند.