രണ്ട് മെട്രിക്സുകളുടെ കൂട്ടിച്ചേർക്കൽ  


വൈഷമ്യ നില എളുപ്പമായ
പതിവായി ചോദിക്കുന്നു അലൈഷൻ അസാന ആശംസിക്കുന്നു
അറേ മാട്രിക്സ് സ്കൂൾ പ്രോഗ്രാമിംഗ്

പ്രശ്നം പ്രസ്താവന  

“രണ്ട് മെട്രിക്സുകളുടെ കൂട്ടിച്ചേർക്കൽ” പ്രശ്‌നത്തിൽ, ഞങ്ങൾ രണ്ട് മെട്രിക്സുകൾ a, b എന്നിവ നൽകി. ഞങ്ങൾ ഫൈനൽ കണ്ടെത്തണം മാട്രിക്സ് മാട്രിക്സിൽ മാട്രിക്സ് ബി ചേർത്തതിനുശേഷം a. രണ്ട് മെട്രിക്സുകൾക്കും ഓർഡർ തുല്യമാണെങ്കിൽ മാത്രമേ നമുക്ക് അവ ചേർക്കാൻ കഴിയൂ, അല്ലാത്തപക്ഷം ഞങ്ങൾക്ക് കഴിയില്ല. ഞങ്ങൾക്ക് അവ ചേർക്കാൻ കഴിയുന്നില്ലെങ്കിൽ “ഞങ്ങൾക്ക് ഈ മെട്രിക്സുകൾ ചേർക്കാൻ കഴിയില്ല” എന്ന് പ്രിന്റുചെയ്യുക.

ഇൻപുട്ട് ഫോർമാറ്റ്  

ആദ്യത്തെ വരിയിൽ നാല് പൂർണ്ണസംഖ്യകൾ r1, c1, r2, c2 അടങ്ങിയിരിക്കുന്നു. ഇവിടെ r1, c1 എന്നിവ ആദ്യ മാട്രിക്സിന്റെ വരികളുടെയും നിരകളുടെയും എണ്ണം സൂചിപ്പിക്കുന്നു. R2, c2 വരികളുടെ എണ്ണത്തെയും രണ്ടാമത്തെ മാട്രിക്സിന്റെ നിരകളെയും സൂചിപ്പിക്കുന്നു.

സി 1 സംഖ്യ മൂല്യങ്ങൾ അടങ്ങിയ അടുത്ത r1 വരികൾ.

അടുത്ത r2 വരികൾ c2 പൂർണ്ണസംഖ്യകൾ ഉൾക്കൊള്ളുന്നു.

Put ട്ട്‌പുട്ട് ഫോർമാറ്റ്  

ഓരോ വരിയും പുതിയ വരിയിൽ നിന്ന് ആരംഭിക്കുന്ന തരത്തിലും ഓരോ വരിയിലെ സ്ഥലത്താൽ വേർതിരിച്ച എല്ലാ ഘടകങ്ങളിലും ചേർത്തതിന് ശേഷം അന്തിമ മാട്രിക്സ് അച്ചടിക്കുക.

നിയന്ത്രണങ്ങൾ  

  • 1 <= r1, c1, r2, c2 <= 5000.
  • 1 <= | m [i] [j] | <= 10 ^ 9 ഇവിടെ m എന്നത് മാട്രിക്സും ith വരിയിലും jth നിരയിലും മൂലകത്തിന്റെ സ്ഥാനമാണ്.

ഉദാഹരണം  

2 2 2 2
4 8
3 7
1 0
5 2
5 8
8 9

വിശദീകരണം: മാട്രിക്സ് എ, ബി എന്നിവയിലെ അനുബന്ധ എൻ‌ട്രികൾ‌ ചേർ‌ത്ത് നമുക്ക് മെട്രിക്സുകളുടെ കൂട്ടിച്ചേർക്കൽ‌ കണ്ടെത്താൻ‌ കഴിയും.

രണ്ട് മെട്രിക്സുകളുടെ കൂട്ടിച്ചേർക്കൽ

രണ്ട് മെട്രിക്സുകളുടെ കൂട്ടിച്ചേർക്കൽ

രണ്ട് മെട്രിക്സുകളുടെ കൂട്ടിച്ചേർക്കൽ

രണ്ട് മെട്രിക്സുകളുടെ കൂട്ടിച്ചേർക്കൽ

രണ്ട് മെട്രിക്സുകൾ ചേർക്കുന്നതിനുള്ള അൽഗോരിതം  

1. രണ്ട് മെട്രിക്സിലെ ഓരോ വരിയിലും.

ഇതും കാണുക
LRU കാഷെ നടപ്പിലാക്കൽ

1.1 മാട്രിക്സ് എയിലെ ഘടകങ്ങളുമായി മാട്രിക്സ് ബിയിലെ ബന്ധപ്പെട്ട ഘടകങ്ങൾ ചേർക്കുക.

1.2 ചില സഹായ മാട്രിക്സിൽ ഫലം അതേ സ്ഥാനത്ത് സൂക്ഷിക്കുക.

2. അടുത്ത വരിയിലേക്ക് നീക്കി മെട്രിക്സുകളുടെ അവസാനം വരെ 1.1, 1.2 ഘട്ടങ്ങൾ പാലിക്കുക.

3. സഹായ മാട്രിക്സ് അച്ചടിക്കുക.

നടപ്പിലാക്കൽ  

രണ്ട് മെട്രിക്സുകൾ ചേർക്കുന്നതിനുള്ള സി ++ പ്രോഗ്രാം

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int r1,c1,r2,c2;
    cin>>r1>>c1>>r2>>c2;
    int a[r1][c1];
    int b[r2][c2];
    for(int i=0;i<r1;i++)
    {
        for(int j=0;j<c1;j++)
        {
            cin>>a[i][j];
        }
    }
    for(int i=0;i<r2;i++)
    {
        for(int j=0;j<c2;j++)
        {
            cin>>b[i][j];
        }
    }
    if(c1!=c2 || r1!=r2)
    {
        cout<<"We can’t add these matrices";
    }
    else
    {
    int c[r1][c2];
    for(int i=0;i<r1;i++)
    {
        for(int j=0;j<c2;j++)
        {
            c[i][j]=a[i][j]+b[i][j];
            cout<<c[i][j]<<"  ";
        }
        cout<<endl;
    }
    }
    return 0;
}

രണ്ട് മെട്രിക്സുകൾ ചേർക്കുന്നതിനുള്ള ജാവ പ്രോഗ്രാം

import java.io.*; 
import java.util.Scanner;
class TutorialCup
{ 
    // Driver code 
    public static void main(String[] args) 
    { 
        int r1,c1,r2,c2;
        Scanner inp = new Scanner(System.in);
        r1 = inp.nextInt();
        c1 = inp.nextInt();
        r2 = inp.nextInt();
        c2 = inp.nextInt();
        int a[][] = new int[r1][c1];
        for(int i=0;i<r1;i++)
        {
            for(int j=0;j<c1;j++)
            {
                a[i][j]=inp.nextInt();
            }
        }
        int b[][] = new int[r2][c2];
        for(int i=0;i<r2;i++)
        {
            for(int j=0;j<c2;j++)
            {
                b[i][j]=inp.nextInt();
            }
        }
        if(r1!=r2 && c1!=c2) 
        { 
            System.out.println("\nWe can’t add these matrices."); 
        } 
        else
        {
            int c[][] = new int[r1][c1];
            for(int i=0;i<r1;i++)
            {
                for(int j=0;j<c1;j++)
                {
                    c[i][j]=a[i][j]+b[i][j];
                    System.out.print(c[i][j] + " ");
                }
                System.out.println();
            }
        }
    } 
}
2 2 2 2
2 8 
0 9 
5 6 
11 3
7 14
11 12

രണ്ട് മെട്രിക്സുകൾ ചേർക്കുന്നതിനുള്ള സങ്കീർണ്ണത വിശകലനം  

സമയ സങ്കീർണ്ണത

O (n ^ 2) ഇവിടെ n എന്നത് r1, c1 എന്നിവയുടെ പരമാവധി ആണ്. ഇവിടെ ഞങ്ങൾ രണ്ട് ലൂപ്പുകൾ ആദ്യ ലൂപ്പ് r1 തവണയും രണ്ടാമത്തെ ലൂപ്പ് c1 തവണയും പ്രവർത്തിപ്പിക്കുന്നു.

ബഹിരാകാശ സങ്കീർണ്ണത

O (m ^ 2) ഇവിടെ m എന്നത് r1, c1 എന്നിവയുടെ പരമാവധി ആണ്. തന്നിരിക്കുന്ന മെട്രിക്സുകൾ ചേർത്തതിന്റെ ഫലം സംഭരിക്കുന്നതിന് ഇവിടെ ഞങ്ങൾ അധിക ഇടം സൃഷ്ടിക്കുന്നു. ആദ്യത്തെ മാട്രിക്സ് ഇൻപുട്ട് എടുക്കുന്നതിന് ഞങ്ങൾ r1 * c1 വലുപ്പവും രണ്ടാമത്തെ മാട്രിക്സ് ഇൻപുട്ട് എടുക്കുന്നതിന് r2 * c2 വലുപ്പവും ഇവിടെ പ്രഖ്യാപിച്ചു.

ഇതും കാണുക
തനിപ്പകർപ്പ് അടങ്ങിയിരിക്കുന്നു

അവലംബം