سورس الگوریتم استراسن به زبان C++
در این بخش سورس الگوریتم استراسن به زبان C++ را برای شما آماده کرده ایم که در محیط نرم افزار Code::Blocks و زبان برنامه نویسی سی پلاس پلاس نوشته شده است. در ادامه می توانید توضیحات، تصاویر و همچنین فیلمی از نحوه اجرا شدن پروژه را مشاهده کنید.
توضیحات پروژه
در این پروژه بعد از اجرا شدن برنامه، مقادیر خانه های دو ماتریس 4 * 4 از کاربر گرفته می شود و سپس برنامه این دو ماتریس را با استفاده از الگوریتم استراسن در هم ضرب کرده و نتیجه حاصل شده را در ماتریس سوم قرار داده و در خروجی نمایش می دهد. استراسن (Strassen) الگوریتمی برای ضرب ماتریس ها است. این الگوریتم کمی بهتر از روش استاندارد ضرب ماتریس ها عمل می کند.
شما با مشاهده سورس کد این پروژه می توانید با نحوه استفاده از متغیرها، توابع، حلقه، آرایه ها و غیره آشنا شده و مهارت برنامه نویسی خودتان را ارتقا دهید.
قسمت های از سورس کد
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include<iostream> #include <conio.h> #include <stdio.h> #include <windows.h> using namespace std; //------------------------ Global Variables --------------------------// int matrix_A[4][4]={0}; int matrix_B[4][4]={0}; int matrix_C[4][4]={0}; //------------------------ Function Prototypes ------------------------// void get_matrix_A( ); void get_matrix_B( ); void multiply_matrices( ); void show_matrix_C( ); void add_2x2_matrices(const int [2][2],const int [2][2],int [2][2]); void subtract_2x2_matrices(const int [2][2],const int [2][2],int [2][2]); void multiply_2x2_matrices(const int [2][2],const int [2][2],int [2][2]); void gotoxy(int x,int y); //----------------------------- main( ) -------------------------------// int main( ) { system("cls"); get_matrix_A( ); get_matrix_B( ); multiply_matrices( ); show_matrix_C( ); cout<<"nnnnn Press any key to exit..."; getch( ); return 0; } //-------------------------- get_matrix_A( ) ------------------------// void gotoxy(int x,int y) { HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE ); if (INVALID_HANDLE_VALUE != hConsole) { COORD pos = {x, y}; SetConsoleCursorPosition( hConsole, pos ); } } |
هیچ نظری ثبت نشده است