صفر تا صد آموزش آرایهها در سیپلاسپلاس (++C)
آموزش جامع آرایهها در سیپلاسپلاس (++C) — آموزشگاه راهکار تبریز
اگر به دنبال یادگیری سیپلاسپلاس در تبریز هستید یا میخواهید آرایهها در ++C را از پایه تا پیشرفته بیاموزید، این آموزش جامع برای شماست! آموزشگاه کامپیوتر راهکار تبریز، به عنوان برترین مرکز آموزش برنامهنویسی در تبریز، این محتوا را برای تسلط کامل شما بر مفهوم آرایهها در سیپلاسپلاس تهیه کرده است.
چرا یادگیری آرایهها در ++C مهم است؟
آرایهها یکی از مباحث پایهای و حیاتی در برنامهنویسی سیپلاسپلاس هستند که برای ذخیره و مدیریت مجموعهای از دادههای همنوع استفاده میشوند. اگر میخواهید برنامهنویسی در تبریز را به صورت حرفهای یاد بگیرید، تسلط بر آرایهها ضروری است.
سرفصلهای آموزش آرایهها در سیپلاسپلاس
✅ تعریف و نحوه ایجاد آرایه در ++C
✅ دسترسی به عناصر آرایه و حلقههای تکرار
✅ آرایههای چندبعدی و کاربرد آنها
✅ مرتبسازی و جستوجو در آرایهها
✅ مثالهای کاربردی و پروژهمحور
چرا آموزشگاه راهکار تبریز بهترین انتخاب است؟
- تدریس توسط اساتید مجرب برنامهنویسی
- آموزش پروژهمحور و عملی سیپلاسپلاس
- پشتیبانی دائمی و رفع اشکال تخصصی
- برگزاری دورههای حضوری و آنلاین در تبریز
اگر به دنبال بهترین آموزشگاه برنامهنویسی در تبریز هستید، آموزشگاه راهکار با سابقه درخشان در آموزش سیپلاسپلاس، پایتون، جاوا و سایر زبانها، گزینه ایدهآلی برای شماست.
📞 برای ثبتنام در دورههای برنامهنویسی در تبریز با ما تماس بگیرید! 04135574231
تعریف و ایجاد آرایه در ++C
آرایهها (Arrays) از مهمترین مفاهیم در برنامهنویسی ++C هستند که به شما امکان ذخیرهسازی چند مقدار از یک نوع داده را در یک متغیر واحد میدهند. در این آموزش، به زبان ساده و با مثالهای کاربردی، تعریف و نحوه ایجاد آرایه در ++C را یاد میگیرید.
1. آرایه (Array) در ++C چیست؟
آرایه یک ساختار دادهای است که مقادیر همنوع (مثلاً چند عدد صحیح، چند کاراکتر یا چند عدد اعشاری) را در یک متغیر ذخیره میکند.
- هر آرایه دارای اندازه ثابت است (یعنی بعد از تعریف، نمیتوان اندازه آن را تغییر داد).
- عناصر آرایه با ایندکس (Index) شمارهگذاری میشوند (شمارهگذاری از 0 شروع میشود).
مثال مفهومی:
فرض کنید یک جعبه (آرایه) داریم که ۵ خانه (عنصر) دارد:
[0] : مقدار اول [1] : مقدار دوم [2] : مقدار سوم [3] : مقدار چهارم [4] : مقدار پنجم
(ایندکسها از 0 شروع میشوند!)
2. نحوه تعریف آرایه در ++C
سینتکس کلی:
datatype arrayname [arraysize] int grades[10]
- نوع_داده: نوع عناصر آرایه (مثل
int,float,charو …) - نام_آرایه: اسمی که برای آرایه انتخاب میکنید (مثل
numbers,scores). - اندازه_آرایه: تعداد عناصری که آرایه میتواند ذخیره کند (مثلاً
5).
مثال 1: تعریف آرایه اعداد صحیح
int numbers[5]; // آرایه ای با 5 عنصر از نوع int
مثال 2: تعریف آرایه اعشاری
float prices[3]; // آرایه ای با 3 عنصر از نوع float
مثال 3: تعریف آرایه کاراکتری
char letters[10]; // آرایه ای با 10 عنصر از نوع char
3. مقداردهی اولیه به آرایه
میتوانید در همان لحظه تعریف، مقادیر آرایه را مشخص کنید:
روش 1: مقداردهی دستی
int numbers[5] = {10, 20, 30, 40, 50}; // آرایه با 5 مقدار
اگر تعداد مقادیر کمتر از اندازه آرایه باشد، بقیه عناصر خودکار صفر میشوند:
int nums[5] = {1, 2}; // → [1, 2, 0, 0, 0]
روش 2: تعریف آرایه بدون ذکر اندازه (توسط کامپایلر)
int numbers[] = {1, 2, 3, 4}; // اندازه آرایه خودکار 4 در نظر گرفته میشود
4. دسترسی به عناصر آرایه (خواندن و تغییر مقدار)
برای دسترسی به عناصر آرایه از ایندکس استفاده میکنیم:
int numbers[3] = {10, 20, 30};
cout << numbers[0]; // چاپ اولین عنصر → خروجی: 10
numbers[1] = 50; // تغییر مقدار دومین عنصر به 50
cout << numbers[1]; // چاپ عنصر دوم → خروجی: 50
⚠ نکته مهم:
- اگر به ایندکس نامعتبر دسترسی پیدا کنید (مثلاً
numbers[5]برای آرایه با اندازه ۳)، برنامه خطای منطقی میدهد (خطای Segmentation Fault).
5. مثال کامل: تعریف، مقداردهی و چاپ آرایه
#include <iostream>
using namespace std;
int main() {
int scores[5] = {85, 90, 78, 92, 88};
// چاپ تمام عناصر آرایه
for (int i = 0; i < 5; i++) {
cout << "Score " << i << ": " << scores[i] << endl;
}
return 0;
}
خروجی:
Score 0: 85 Score 1: 90 Score 2: 78 Score 3: 92 Score 4: 88
6. کاربردهای آرایه در ++C
- ذخیرهسازی لیست نمرات دانشآموزان
- نگهداری دادههای سنسورها در پروژههای الکترونیکی
- پیادهسازی ساختارهای داده مثل صف، پشته و ماتریس
- پردازش دادههای عددی در محاسبات علمی
چرا یادگیری دسترسی به آرایه و حلقهها مهم است؟
3. تکنیکهای پیشرفتهتر
3.1. استفاده از sizeof برای یافتن اندازه آرایه
int numbers[] = {1, 2, 3, 4, 5};
int size = sizeof(numbers) / sizeof(numbers[0]); // محاسبه تعداد عناصر
3.2. حلقه for با auto (در ++11 به بعد)
for (auto element : numbers) {
cout << element << " ";
}
3.3. آرایههای چندبعدی
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
4. مثال جامع: مدیریت نمرات دانشجویان
#include <iostream>
using namespace std;
int main() {
const int NUM_STUDENTS = 5;
float grades[NUM_STUDENTS];
// دریافت نمرات
cout << "لطفا نمرات 5 دانشجو را وارد کنید:\n";
for (int i = 0; i < NUM_STUDENTS; i++) {
cout << "دانشجو " << i+1 << ": ";
cin >> grades[i];
}
// محاسبه میانگین
float sum = 0;
for (int i = 0; i < NUM_STUDENTS; i++) {
sum += grades[i];
}
float average = sum / NUM_STUDENTS;
// نمایش نتایج
cout << "\nنمرات دانشجویان:\n";
for (int i = 0; i < NUM_STUDENTS; i++) {
cout << "دانشجو " << i+1 << ": " << grades[i];
if (grades[i] > average) cout << " (بالاتر از میانگین)";
cout << endl;
}
cout << "\nمیانگین کل: " << average;
return 0;
}
5. تمرینهای کاربردی
- برنامهای بنویسید که بزرگترین عدد در یک آرایه را پیدا کند
- برنامهای بنویسید که عناصر یک آرایه را معکوس کند
- برنامهای بنویسید که تعداد اعداد زوج در یک آرایه را بشمارد
آرایههای چندبعدی چه هستند؟
7. نکات حرفهای
8. تمرینهای کاربردی
- برنامهای بنویسید که دو ماتریس 3×3 را با هم جمع کند
- برنامهای بنویسید که بزرگترین عدد در یک ماتریس 4×4 را پیدا کند
- برنامهای بنویسید که یک جدول ضرب 10×10 در ماتریس دو بعدی ایجاد و چاپ کند
آموزش جامع مرتبسازی و جستوجو در آرایههای ++C
بخش 2: روشهای جستوجو در آرایه
2.1. جستوجوی خطی (Linear Search)
int linearSearch(int arr[], int size, int target) {
for (int i = 0; i < size; i++) {
if (arr[i] == target) {
return i; // اندیس عنصر پیدا شده
}
}
return -1; // عدم یافتن
}
2.2. جستوجوی دودویی (Binary Search)
پیشنیاز: آرایه باید مرتب باشد
int binarySearch(int arr[], int size, int target) {
int left = 0;
int right = size - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
}
if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
مثال استفاده:
int sortedNumbers[] = {1, 3, 5, 7, 9};
int index = binarySearch(sortedNumbers, 5, 7);
مقایسه روشهای جستوجو:
| روش | سرعت | نیاز به مرتبسازی | مناسب برای |
|---|---|---|---|
| خطی | کند | خیر | لیستهای کوچک/نامرتب |
| دودویی | بسیار سریع | بله | لیستهای بزرگ مرتب |
بخش 3: مثال جامع – سیستم مدیریت دانشجویان