C++ Tutorial - part 70

آموزش جامع زبان برنامه‌نویسی C++ مقدماتی تا پیشرفته [0 تا 100 سی پلاس پلاس بهمراه حل تمرین و پروژه ✅] - ارسال و برگرداندن ماتریس در توابع - قسمت 70

در این بخش از دوره برنامه‌نویسی C++، به بررسی نحوه ایجاد و استفاده از آرایه‌های دوبعدی با استفاده از پوینترها می‌پردازیم. همچنین، نحوه ارسال آرایه‌های دوبعدی به توابع و بازگرداندن آن‌ها از توابع را نیز توضیح خواهیم داد.

ایجاد آرایه دوبعدی با استفاده از پوینترها

برای ایجاد یک آرایه دوبعدی با استفاده از پوینترها، ابتدا باید پوینتری برای نگهداری آدرس ردیف‌های آرایه ایجاد کنیم. سپس، برای هر ردیف، پوینتری به ستون‌ها اختصاص دهیم.

کد نمونه: ایجاد آرایه دوبعدی

				
					#include <iostream>
using namespace std;

int main() {
    int rows = 2;
    int cols = 3;

    // ایجاد پوینتر برای آرایه دوبعدی
    int** arr = new int*[rows];

    // تخصیص حافظه برای هر ستون
    for (int i = 0; i < rows; ++i) {
        arr[i] = new int[cols];
    }

    // مقداردهی به آرایه
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            arr[i][j] = i + j + 1;
        }
    }

    // نمایش آرایه
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }

    // آزادسازی حافظه
    for (int i = 0; i < rows; ++i) {
        delete[] arr[i];
    }
    delete[] arr;

    return 0;
}

				
			

ارسال آرایه دوبعدی به یک تابع

برای ارسال یک آرایه دوبعدی به یک تابع، باید از پوینترها استفاده کنیم. تابع مورد نظر باید آرایه دوبعدی و ابعاد آن را به عنوان ورودی بپذیرد.

کد نمونه: ارسال آرایه دوبعدی به یک تابع

				
					#include <iostream>
using namespace std;

void display(int** arr, int rows, int cols) {
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    int rows = 2;
    int cols = 3;

    // ایجاد پوینتر برای آرایه دوبعدی
    int** arr = new int*[rows];

    // تخصیص حافظه برای هر ستون
    for (int i = 0; i < rows; ++i) {
        arr[i] = new int[cols];
    }

    // مقداردهی به آرایه
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            arr[i][j] = i + j + 1;
        }
    }

    // نمایش آرایه با استفاده از تابع
    display(arr, rows, cols);

    // آزادسازی حافظه
    for (int i = 0; i < rows; ++i) {
        delete[] arr[i];
    }
    delete[] arr;

    return 0;
}

				
			

بازگرداندن آرایه دوبعدی از یک تابع

برای بازگرداندن یک آرایه دوبعدی از یک تابع، باید از پوینترها استفاده کنیم و حافظه مورد نیاز را در داخل تابع تخصیص دهیم.

کد نمونه: بازگرداندن آرایه دوبعدی از یک تابع

				
					#include <iostream>
using namespace std;

int** create2DArray(int rows, int cols) {
    int** arr = new int*[rows];
    for (int i = 0; i < rows; ++i) {
        arr[i] = new int[cols];
    }

    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            arr[i][j] = i + j;
        }
    }

    return arr;
}

void display(int** arr, int rows, int cols) {
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    int rows = 2;
    int cols = 3;

    // ایجاد و دریافت آرایه دوبعدی از تابع
    int** arr = create2DArray(rows, cols);

    // نمایش آرایه با استفاده از تابع
    display(arr, rows, cols);

    // آزادسازی حافظه
    for (int i = 0; i < rows; ++i) {
        delete[] arr[i];
    }
    delete[] arr;

    return 0;
}

				
			

نتیجه‌گیری

در این بخش، نحوه ایجاد، ارسال و بازگرداندن آرایه‌های دوبعدی با استفاده از پوینترها در C++ را بررسی کردیم. این مهارت‌ها به شما امکان می‌دهند که برنامه‌های پیچیده‌تر و موثرتری ایجاد کنید و از پوینترها برای مدیریت حافظه بهینه‌تر استفاده کنید.

منابع خارجی مرتبط با موضوع

ادامه دوره (قسمت 71)

در قسمت بعدی برنامه نویسی شی‌گرایی (Object Oriented Programming) را خواهیم پرداخت. اگر سوالی دارید، در بخش دیدگاه مطرح کنید. همچنین ممنون میشم با حمایت دلنشینتون از من و دوره‌ها حمایت کنید.

در این قسمت، قصد داریم نحوه ارسال و دریافت پوینتر به/از تابع در زبان برنامه‌نویسی C++ را مورد بررسی قرار دهیم. برای این کار...

برنامه‌نویسی شی‌گرایی یا Object-Oriented Programming (OOP) یک روش مدرن و قدرتمند برای طراحی و توسعه نرم‌افزارها است که در این جلسه قصد داریم برای شروع مفاهیم ابتدایی شی‌گرایی را...

ارسال و برگرداندن ماتریس در توابع

حق کپی ویدئو مجاز نمی‌باشد

قسمت:

جلسه هفتاد

نام دوره:

آموزش جامع ++C

زمان ویدئو:

13 دقیقه

مدرس:

مهدی کاظمی

در این قسمت یادخواهید گرفت:

در این بخش از دوره برنامه‌نویسی C++، به بررسی نحوه ایجاد و استفاده از آرایه‌های دوبعدی با استفاده از پوینترها می‌پردازیم. همچنین، نحوه ارسال آرایه‌های دوبعدی به توابع و بازگرداندن آن‌ها از توابع را نیز توضیح خواهیم داد.

مهدی کاظمی

سلام مهدی کاظمی هستم و باعث افتخارم هست که در یک دوره جذاب دیگه با شما هستم و قراره در کنار هم از یادگیریمون لذت ببریم.

با بانک سوالات طبقه بندی شده ++C مقدماتی تا پیشرفته، جامع ترین منبع برای تسلط بر زبان سی پلاس پلاس و آمادگی کامل برای دروس مبانی و پیشرفته کامپیوتر در رشته مهندسی کامپیوتر را در اختیار خواهید داشت.

0 دیدگاه
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها