এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা একটি 2D অ্যারেতে শীর্ষ উপাদান খুঁজে পায়।
একটি মৌলকে পিক এলিমেন্ট বলা হয় যদি এর চারপাশের সমস্ত উপাদান উপাদানের থেকে ছোট হয়।
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷-
ডামি ডেটা দিয়ে 2D অ্যারে শুরু করুন।
-
2D অ্যারেতে পুনরাবৃত্তি করুন৷
৷-
প্রথমে, 2D অ্যারের কোণার উপাদানগুলি পরীক্ষা করুন৷
৷ -
এরপর, 2D অ্যারের প্রথম এবং শেষ সারির শর্ত লিখুন।
-
এখন, 2D অ্যারের প্রথম এবং শেষ কলামগুলি পরীক্ষা করুন৷
৷ -
এবং অবশেষে, মধ্যম উপাদানগুলি পরীক্ষা করুন৷
-
প্রতিটি ক্ষেত্রে, আমাদের বর্তমান উপাদানটিকে তার পার্শ্ববর্তী উপাদানগুলির সাথে তুলনা করতে হবে। এটি উপরের শর্তের উপর ভিত্তি করে পরিবর্তিত হয়৷
-
আপনি যেখানে ফলাফল পাবেন সেখানে মান ফেরত দিন।
-
উদাহরণ
আসুন কোডটি দেখি।
#include <bits/stdc++.h> using namespace std; const int MAX = 256; int findPeakElement(int arr[][MAX], int rows, int columns) { for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { if (i == 0 && j == 0) { if (arr[i][j] > arr[i + 1][j] && arr[i][j] > arr[i][j + 1]) { return arr[i][j]; } } else if (i == 0 && j == columns - 1) { if (arr[i][j] > arr[i + 1][j] && arr[i][j] > arr[i][j - 1]) { return arr[i][j]; } } else if (i == rows - 1 && j == 0) { if (arr[i][j] > arr[i - 1][j] && arr[i][j] > arr[i][j + 1]) { return arr[i][j]; } } else if (i == rows - 1 && j == columns - 1) { if (arr[i][j] > arr[i - 1][j] && arr[i][j] > arr[i][j - 1]) { return arr[i][j]; } } else if (i == 0) { if (arr[i][j] > arr[i][j - 1] && arr[i][j] > arr[i][j + 1] && arr[i][j] > arr[i + 1][j]) { return arr[i][j]; } } else if (i == rows - 1) { if (arr[i][j] > arr[i][j - 1] && arr[i][j] > arr[i][j + 1] && arr[i][j] > arr[i - 1][j]) { return arr[i][j]; } } else if (j == 0) { if (arr[i][j] > arr[i - 1][j] && arr[i][j] > arr[i + 1][j] && arr[i][j] > arr[i][j + 1]) { return arr[i][j]; } } else if (j == columns - 1) { if (arr[i][j] > arr[i - 1][j] && arr[i][j] > arr[i + 1][j] && arr[i][j] > arr[i][j - 1]) { return arr[i][j]; } } else { if (arr[i][j] > arr[i][j - 1] && arr[i][j] > arr[i][j + 1] && arr[i][j] > arr[i - 1][j] && arr[i][j] > arr[i + 1][j]) { return arr[i][j]; } } } } return -1; } int main() { int arr[][MAX] = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 1, 3, 7, 5 }, { 1, 2, 6, 6 } }; int rows = 4, columns = 4; cout << findPeakElement(arr, rows, columns) << endl; return 0; }
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
7
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।