در این جلسه تیم کدگیت را با آموزش جستجوی درایه ماتریس در سی پلاس پلاس همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:
ماتریس
ماتریس به آرایشی مستطیلی شکل از اعداد یا عبارات ریاضی که بصورت سطر و ستون شکل یافته گفته میشود. به طوری که میتوان گفت که هر ستون یا هر سطر یک ماتریس، یک بردار را تشکیل میدهد. هر یک از عناصر ماتریس درایه خوانده میشود.
ماتریسهای هم اندازه (با تعداد سطر و ستون برابر) را میتوان با هم جمع یا از هم تفریق کرد. ضرب دو ماتریس تنها در صورتی ممکن است که تعداد ستونهای ماتریس اول با تعداد سطرهای ماتریس دوم برابر باشد.
درایه
به هر یک از عناصر موجود در یک ماتریس درایه میگویند. برای مشخص کردن هر درایه باید عدد ردیف و ستون آن را بصورت پاییننویس نام ماتریس نوشت. برای مثال اگر نام ماتریسی A باشد، درایهای که در ردیف اول و ستون دوم قرار دارد به این صورت نشان داده میشود A1,2 . درایههای یک ماتریس در حالت کلی میتوانند حقیقی یا مختلط باشند.
جستجوی درایه ماتریس در سی پلاس پلاس
برای جستجوی درایه ماتریس باید یک ماتریس ساخت. ساخت ماتریس همان آرایه دو بعدی است. یک تابع به نام searchMatrix نوشتیم که دو ورودی میگیرد. ورودی اول ماتریس و ورودی دوم درایه ای که به دنبال آن میگردیم. کد جستجوی درایه ماتریس در جاوا به صورت زیر است:
bool searchMatrix(int matrix[row][column], int target) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
if (matrix[i][j] == target) {
return true;
}
}
}
return false;
}
همانطور که در کد بالا میبینید ما اندازه سطر و ستون ماتریس را گرفتیم و در دو حلقه for تودرتو به جستجوی درایه مورد نظر پرداختیم. تابع در صورت پیدا کردن درایه true برمیگرداند و اگر پیدا نکرد false.
تست جستجوی درایه ماتریس در سی پلاس پلاس
برای تست کدهای بالا، کد main زیر را بزنید:
int main() {
int matrix[row][column] = { { 1, 3, 5, 7 }, { 10, 11, 16, 20 }, { 23, 30,
34, 50 } };
int target = 10;
bool x = searchMatrix(matrix, target);
printf("%d in matrix? %s", target, x ? "true" : "false");
return 0;
}
خروجی برنامه بالا به صورت زیر است:
10 in matrix? true