কম্পিউটার টিউটোরিয়াল

C++-এ রো-মেজর ও কলাম-মেজর ম্যাট্রিক্স যোগফলের ট্রেস বের করা


সমস্যা

একই ডাইমেনশনের দুটি ম্যাট্রিক্স: একটি রো-মেজর অর্ডারে ভরা, অন্যটি কলাম-মেজর অর্ডারে। তাদের যোগফলের ম্যাট্রিক্সের ট্রেস (ডায়াগোনালের যোগফল) বের করুন।

গাণিতিক ফর্মুলা

রো-মেজর: A[i][j] = i*C + j + 1

কলাম-মেজর: B[i][j] = j*R + i + 1

ট্রেস = Σ (A[i][i] + B[i][i]) for i=0 to min(R,C)-1

= Σ (i*C + i + 1 + i*R + i + 1) = Σ (i*(R+C+2) + 2)

এটি সরাসরি ফর্মুলা দিয়ে O(1)-এ করা যায়।

C++ কোড (সিম্পল লুপ)

#include <bits/stdc++.h>
using namespace std;

int calculateMatrixTrace(int row, int col) {
    int sum = 0;
    for (int i=0; i

আউটপুট

384
  1. C++ ব্যবহার করে ম্যাট্রিক্সে সর্বোচ্চ যোগফল করা কলাম বের করা

  2. C++ ব্যবহার করে 0 থেকে N-1 পূরণ করা এবং মূল ডায়াগোনাল শূন্য থাকা সিমেট্রিক ম্যাট্রিক্স বানানো

  3. C++ প্রোগ্রাম: ম্যাট্রিক্সের বেসিস ও ডাইমেনশন নির্ণয়

  4. সি++ প্রোগ্রাম: গ্রাফ ম্যাট্রিক্সের বিপরীত (Inverse) নির্ণয়