10 مثال کاربردی و عملی آرایهها در ++C (از مبتدی تا پیشرفته)
آموزش حرفهای آرایه و ماتریس در ++C با مثالهای کاربردی
اگر به دنبال یادگیری سیپلاسپلاس در تبریز هستید یا میخواهید آرایه و ماتریس را به صورت عملی بیاموزید، این آموزش جامع برای شماست! آموزشگاه کامپیوتر راهکار تبریز به عنوان برترین مرکز آموزش برنامهنویسی در شمالغرب کشور، این محتوا را برای تسلط شما بر مفاهیم کلیدی ++C تهیه کرده است.
چرا یادگیری آرایه و ماتریس مهم است؟
- پایه یادگیری ساختمان داده و الگوریتم
- ضروری برای پروژههای واقعی مثل پردازش تصویر و بازیسازی
- مورد نیاز مسابقات برنامهنویسی و آزمونهای فنی
مثال 1: جمع عناصر آرایه (مبتدی)
#include <iostream>
using namespace std;
int main() {
int numbers[5] = {10, 20, 30, 40, 50};
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += numbers[i];
}
cout << "مجموع اعداد: " << sum;
return 0;
}
خروجی:
مجموع اعداد: 150
مثال 2: پیدا کردن بزرگترین عدد (مبتدی)
#include <iostream>
using namespace std;
int main() {
int nums[] = {23, 45, 12, 67, 34};
int max = nums[0];
for (int i = 1; i < 5; i++) {
if (nums[i] > max) {
max = nums[i];
}
}
cout << "بزرگترین عدد: " << max;
return 0;
}
خروجی:
بزرگترین عدد: 67
مثال 3: معکوس کردن آرایه (متوسط)
#include <iostream>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5};
int temp;
for (int i = 0; i < 2; i++) {
temp = arr[i];
arr[i] = arr[4 - i];
arr[4 - i] = temp;
}
cout << "آرایه معکوس شده: ";
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
return 0;
}
خروجی:
آرایه معکوس شده: 5 4 3 2 1
مثال 4: میانگین نمرات دانشجویان (متوسط)
#include <iostream>
using namespace std;
int main() {
float grades[4];
float sum = 0;
cout << "لطفا 4 نمره وارد کنید:\n";
for (int i = 0; i < 4; i++) {
cin >> grades[i];
sum += grades[i];
}
cout << "میانگین نمرات: " << sum / 4;
return 0;
}
مثال 5: جستوجوی خطی (متوسط)
#include <iostream>
using namespace std;
int main() {
int items[] = {12, 34, 56, 78, 90};
int target;
bool found = false;
cout << "عدد مورد نظر را وارد کنید: ";
cin >> target;
for (int i = 0; i < 5; i++) {
if (items[i] == target) {
cout << "عدد در موقعیت " << i << " پیدا شد";
found = true;
break;
}
}
if (!found) {
cout << "عدد یافت نشد!";
}
return 0;
}
مثال 6: ماتریس 2×2 (متوسط)
#include <iostream>
using namespace std;
int main() {
int matrix[2][2] = {{1, 2}, {3, 4}};
cout << "ماتریس:\n";
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
خروجی:
ماتریس: 1 2 3 4
مثال 7: مرتبسازی حبابی (پیشرفته)
#include <iostream>
using namespace std;
int main() {
int arr[] = {5, 3, 8, 1, 2};
int n = 5;
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
cout << "آرایه مرتب شده: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
خروجی:
آرایه مرتب شده: 1 2 3 5 8
مثال 8: جمع دو ماتریس (پیشرفته)
#include <iostream>
using namespace std;
int main() {
int A[2][2] = {{1, 2}, {3, 4}};
int B[2][2] = {{5, 6}, {7, 8}};
int C[2][2];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
C[i][j] = A[i][j] + B[i][j];
}
}
cout << "نتیجه جمع ماتریسها:\n";
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << C[i][j] << " ";
}
cout << endl;
}
return 0;
}
خروجی:
نتیجه جمع ماتریسها: 6 8 10 12
مثال 9: جدول ضرب (پیشرفته)
#include <iostream>
using namespace std;
int main() {
int mult[10][10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
mult[i][j] = (i+1) * (j+1);
}
}
cout << "جدول ضرب 10x10:\n";
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
cout << mult[i][j] << "\t";
}
cout << endl;
}
return 0;
}
مثال 10: سیستم رأیگیری (پیشرفته)
#include <iostream>
using namespace std;
int main() {
string candidates[3] = {"علی", "رضا", "سارا"};
int votes[3] = {0};
int choice;
cout << "سیستم رأیگیری:\n";
for (int i = 0; i < 5; i++) { // 5 رأی دهنده
cout << "1. علی\n2. رضا\n3. سارا\n";
cout << "رأی شما (1-3): ";
cin >> choice;
votes[choice-1]++;
}
cout << "\nنتایج:\n";
for (int i = 0; i < 3; i++) {
cout << candidates[i] << ": " << votes[i] << " رأی\n";
}
return 0;
}
تمرینهای تکمیلی (از آسان به سخت)
- برنامهای بنویسید که تعداد اعداد زوج در یک آرایه را بشمارد
- برنامهای بنویسید که یک آرایه را از کاربر بگیرد و عناصر تکراری را حذف کند
- برنامهای بنویسید که یک ماتریس 3×3 را از کاربر بگیرد و بزرگترین عدد هر سطر را نمایش دهد
- برنامهای بنویسید که دو آرایه را با هم مقایسه کند و مشخص کند آیا یکسان هستند یا نه
- برنامهای بنویسید که یک آرایه 2 بعدی 4×4 را از کاربر بگیرد و مجموع قطر اصلی را محاسبه کند