কম্পিউটার

C++ এ তির্যক যোগফলের সমতুল্য সমষ্টি সহ সারি/কলাম গণনা করুন


আমাদের একটি ম্যাট্রিক্স দেওয়া হয়েছে যা একটি 2-ডি অ্যারে যেখানে সারি এবং কলাম রয়েছে এবং কাজটি হল সমস্ত সারি এবং কলামের যোগফলের গণনা করা যাতে এটি সমান হয় প্রধান বা মাধ্যমিক ম্যাট্রিক্সের যোগফল।

ইনপুট

int arr[row][col] = {
   { 4, 1, 7 },
   { 10, 3, 5 },
   { 2, 2, 11}
}

আউটপুট − তির্যক যোগফলের সমান সমষ্টি সহ সারি/কলামের সংখ্যা হল &মিনস; 2

ব্যাখ্যা

প্রধান কর্ণের যোগফল হল:4 + 3 + 11 =18 এবং গৌণ কর্ণের যোগফল হল:7 + 3 + 2 =12। সারির যোগফল হল 4 + 1 + 7 =12(TRUE), 10 + 3 + 5 =18 (TRUE), 2 + 2 + 11 =15(FALSE) এবং কলামের যোগফল হল:4 + 10 + 2 =16(FALSE), 1 + 3 + 2 =6(FALSE), 7 + 5 + 11 =23( মিথ্যা)। অতএব, প্রধান কর্ণ এবং গৌণ কর্ণের যোগফলের সাথে মিলিত সারি/কলামের গণনা হল −2

ইনপুট

int arr[row][col] = {
   { 1, 2, 3 },
   { 4, 5, 2 },
   { 7, 9, 10}
}

আউটপুট − তির্যক যোগফলের সমান সমষ্টি সহ সারি/কলামের সংখ্যা হল − 2

ব্যাখ্যা

প্রধান কর্ণের যোগফল হল:1 + 5 + 10 =16 এবং গৌণ কর্ণের যোগফল হল:7 + 3 + 5 =15। সারির যোগফল হল 1 + 2 + 3 =6(FALSE), 4 + 5 + 2 =11 (FALSE), 7 + 9 + 10 =26(FALSE) এবং কলামের যোগফল হল:7 + 4 + 1 =12(FALSE), 9 + 5 + 2 =16(TRUE), 3 + 2 + 10 =15( সত্য)। অতএব, প্রধান কর্ণ এবং গৌণ কর্ণের যোগফলের সাথে মিলিত সারি/কলামের গণনা হল −2

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • সারি আকার এবং কলাম আকারের একটি ম্যাট্রিক্স গঠন করতে একটি 2-ডি অ্যারে তৈরি করুন

  • প্রধান এবং মাধ্যমিক ম্যাট্রিক্সের জন্য পরিবর্তনশীল তৈরি করুন। এছাড়াও, গণনা সংরক্ষণ করার জন্য একটি গণনা পরিবর্তনশীল

  • স্টার্ট লুপ FOR i থেকে 0 পর্যন্ত col পর্যন্ত এবং j থেকে col - 1 থেকে col পর্যন্ত, i বৃদ্ধি করুন এবং j হ্রাস করুন

  • লুপের ভিতরে, প্রিন্সিপালকে প্রিন্সিপাল + ম্যাট্রিক্স[i][i] হিসেবে সেট করুন এবং সেকেন্ডারিকে সেকেন্ডারি + ম্যাট্রিক্স[i][j][

  • স্টার্ট লুপ FOR i থেকে 0 পর্যন্ত col

  • লুপের ভিতরে, সারি 0 এবং col-এ 0 সেট করুন এবং লুপের ভিতরে, j থেকে 0 থেকে col পর্যন্ত আরেকটি লুপ FOR শুরু করুন

  • লুপগুলির ভিতরে, সারি + ম্যাট্রিক্স[i][j]

    হিসাবে সারি সেট করুন
  • লুপের ভিতরে, j থেকে 0 থেকে col

    পর্যন্ত আরেকটি লুপ FOR শুরু করুন লুপের ভিতরে, col থেকে col + ম্যাট্রিক্স[j][i]
  • লুপের ভিতরে, IF (সারি ==প্রধান) || পরীক্ষা করুন (সারি ==মাধ্যমিক) তারপর গণনা 1 দ্বারা বৃদ্ধি করুন

  • লুপের ভিতরে, IF (col ==principal) || চেক করুন (col ==মাধ্যমিক) তারপর গণনা 1 দ্বারা বৃদ্ধি করুন

  • গণনা ফেরত দিন

  • ফলাফল প্রিন্ট করুন।

উদাহরণ

#include <iostream>
#define row 3
#define col 3
using namespace std;
int diagonal_sum(int matrix[row][col]){
   int principal = 0;
   int secondary = 0;
   int r = 0;
   int c = 0;
   int count = 0;
   int i = 0, j = 0;
   for (i = 0, j = col - 1; i < col; i++, j--){
      principal += matrix[i][i];
      secondary += matrix[i][j];
   }
   for (int i = 0; i < col; i++){
      r = 0;
      c = 0;
      for (int j = 0; j < col; j++){
         r += matrix[i][j];
      }
      for (int j = 0; j < col; j++){
         c += matrix[j][i];
      }
      if ((r == principal) || (r == secondary)){
         count++;
      }
      if ((c == principal) || (c == secondary)){
         count++;
      }
   }
   return count;
}
int main(){
   int matrix[row][col] = {
      { 4, 1, 7 },
      { 10, 3, 5 },
      { 2, 2, 11}};
   cout<<"Count of rows/columns with sum equals to diagonal sum are: "<<diagonal_sum(matrix);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of rows/columns with sum equals to diagonal sum are: 2

  1. নোডগুলি গণনা করুন যার সমষ্টি X এর সাথে C++ এ একটি ফিবোনাচি সংখ্যা

  2. C++ এর সমষ্টি সহ বাইনারি সাবাররে

  3. C++-এ সাবারের যোগফল K সমান

  4. C++-এ b-এর চেয়ে বেশি উপসর্গ