الگوریتم و فلوچارت
前往频道在 Telegram
✅ برنامه نویسی را از اینجا شروع کنید؛ آموزش طراحی فلوچارت و الگوریتم | مثالهای عملی + دانلود رایگان | مناسب برای برنامهنویسان مبتدی #flowgorithm گروه چت حل تمرین https://t.me/flowchart_algorithmGp جهت ارتباط با ادمین و تبلیغات @Programer24h 💻
显示更多1 511
订阅者
+124 小时
-257 天
-19430 天
帖子存档
1 511
آرایهها (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++ تعریف کنیم، به آن مقادیر اختصاص دهیم و عناصر آن را چاپ کنیم.👍1 511
دانشجویان عزیز، با سلام،
ظاهراً تعدادی از شما هنوز در یاد گیری مفهوم آرایه ها مشکل دارید، نگران نباشید، یک توضیح در این مورد برای شما قرار می دهم. 👇
1 511
برای نوشتن برنامهای به زبان 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 بار
این خروجی به شما کمک میکند تا ببینید که هر وجه تاس چقدر به طور تصادفی ظاهر شده است.1 511
برنامه ای به زبان c++ بنويسيد که يک تاس را ۱۰۰۰۰ بار پرتاب کرده و توسط آرايه ای تعداد دفعات آمدن هر وجه را حساب کند. ( تعداد دفعات آمدن هر وجه را يک عنصر آرايه ای در نظر بگيريد)
1 511
برای رسم نمودار میلهای افقی در 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)
این خروجی به شما کمک میکند تا به راحتی مقادیر را بصورت بصری مشاهده کنید.1 511
برنامه ای به زبان c++ بنويسيد که توسط آرايه، نمودار ميله ای افقی برای اعداد {۲, ۵, ۳, ۹, ۱۵, ۷, ۸} رسم کند.
1 511
در زیر یک برنامه ساده به زبان 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. خط جدید: بعد از چاپ متن معکوس شده، یک خط جدید برای زیبایی خروجی اضافه شده است.1 511
یک برنامه با زبان c++ بنویسید که یک متن را دریافت کند و در یک آرایه قرار دهد و سپس آرایه را از آخر به اول چاپ کند.
1 511
در زیر یک برنامه ساده به زبان 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 بررسی میشود که آیا عدد اول است یا خیر و نتیجه چاپ میشود.1 511
عدد اول (Prime Number) به عددی گفته میشود که تنها دو مقسومعلیه دارد: ۱ و خود عدد. به عبارت دیگر، یک عدد اول بزرگتر از ۱ نمیتواند به هیچ عدد صحیح دیگری جز ۱ و خود آن عدد تقسیم شود.
▎تعریف دقیق:
• عدد p عدد اول است اگر:
• p > 1
• و تنها مقسومعلیههای آن ۱ و p باشد.
▎مثالها:
1. عدد 2:
• مقسومعلیهها: ۱ و ۲
• بنابراین، ۲ یک عدد اول است.
2. عدد 3:
• مقسومعلیهها: ۱ و ۳
• بنابراین، ۳ نیز یک عدد اول است.
3. عدد 4:
• مقسومعلیهها: ۱، ۲ و ۴
• بنابراین، ۴ یک عدد اول نیست.
4. عدد 5:
• مقسومعلیهها: ۱ و ۵
• بنابراین، ۵ یک عدد اول است.
5. عدد 9:
• مقسومعلیهها: ۱، 3 و 9
• بنابراین، ۹ یک عدد اول نیست.
▎نکته:
• عدد ۲ تنها عدد اول زوج است. تمام اعداد اول دیگر فرد هستند.
• اعداد اول اولیه شامل: ۲، ۳، ۵، ۷، ۱۱، ۱۳، ۱۷ و غیره هستند.
1 511
در زیر یک برنامه به زبان 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. در نهایت تعداد ارقام زوج را چاپ میکند.1 511
یک برنامه با زبان c++ بنویسید که یک عدد 3 رقمی را دریافت کند و تعداد ارقام زوج آن را در خروجی چاپ کند.
1 511
در زیر یک برنامه ساده به زبان 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. در نهایت، نتیجه را به صورت خوانا در خروجی نمایش میدهد.1 511
یک برنامه با زبان c++ بنویسید که یک عدد را بر حسب ثانیه دریافت کند و آن را به ساعت و دقیقه و ثانیه در خروجی چاپ کند.
1 511
در زیر یک برنامه ساده به زبان 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;
}
▎توضیحات:
• برنامه ابتدا حقوق را از کاربر دریافت میکند.
• سپس با توجه به مقدار حقوق، مالیات مناسب را محاسبه میکند.
• بعد از آن، بیمه را محاسبه کرده و در نهایت حقوق خالص را با کسر مالیات و بیمه محاسبه میکند.
• نتیجه نهایی به صورت دو رقم اعشار نمایش داده میشود.1 511
یک برنامه با زبان c++ بنویسید که یک عدد را به عنوان حقوق بگیرد و اگر بالای 12 میلیون بود 15 درصد مالیات کسر کند و اگر زیر 12 میلیون بود 12 درصد مالیات کم کند و در نهایت 5 درصد بابت بیمه کسر کند و نتیجه را در خروجی چاپ کند.
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
