İki matrisin çıxılması

Çətinlik səviyyəsi Asan
Tez-tez soruşulur Capgemini MAQ o9 həlləri
Geyim Matris Məktəb ProqramlaşdırmasıBaxılıb 506

Problem bəyanat

“İki matrisin çıxarılması” məsələsində iki a və b matris verdik. Biz finalı tapmalıyıq matris a matrisindən b matrisini çıxardıqdan sonra. Sifariş hər iki matris üçün eynidirsə, yalnız onları çıxara bilərik, əks halda edə bilmərik.

Giriş Formatı

Dörd tam dəyər r1, c1, r2, c2 olan ilk sətir. Burada r1 və c1 birinci matrisin sətir və sütunlarının sayını göstərir. Və r2, c2, ikinci matrisin sətir, sütun sayını göstərir.

Sonrakı c1 tam dəyərlərini ehtiva edən r1 sətirləri.

Və sonrakı c2 tam dəyərlərini ehtiva edən r2 sətirləri.

Çıxış formatı

Çıxarıldıqdan sonra son matrisi elə düzəldin ki, hər sətir yeni sətirdən başlayacaq və hər sətirdə boşluq ayrılmış hər element.

Məhdudiyyətlər

  • 1 <= r1, c1, r2, c2 <= 5000.
  • 1 <= | m [i] [j] | <= 10 ^ 9, burada m matrisdir və elementin satırdakı və j sütundakı mövqeyi.

misal

2 2 2 2
2 8
0 9
5 6
11 3
-3 2
-11 6

Explanation: Matrislərin çıxarılmasını C və D matrisindəki uyğun girişləri çıxarmaqla tapa bilərik.

İki matrisin çıxılması

İki matrisin çıxılması

İki matrisin çıxılması

İki matrisin çıxılması

İki matrisin çıxarılması alqoritmi

1. İki matrisdəki hər sıra üçün

1.1 B matrisindəki müvafiq elementləri A matrisindəki elementlərlə çıxartın.

1.2 Nəticəni bəzi köməkçi matrislərdə eyni vəziyyətdə saxlayın.

2. Növbəti sıraya keçin və matrislərin sonuna qədər 1.1 və 1.2 addımlarını izləyin.

3. Köməkçi matrisi çap edin.

Həyata keçirilməsi

İki Matrisin Çıxarılması üçün C ++ Proqramı

#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 subtract 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;
}

İki Matrisin Çıxarılması üçün Java Proqramı

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 subtract 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
-3  2  
-11  6

İki matrisin çıxarılması üçün mürəkkəblik analizi

Zamanın mürəkkəbliyi

O (n ^ 2) burada n maksimum r1 və c1-dir. Burada sadəcə iki döngə r1 dəfə, ikinci döngə c1 dəfə işləyir.

Kosmik Mürəkkəblik

O (m ^ 2) burada m maksimum r1 və c1-dir. Burada matrislərin çıxarılması nəticəsini saxlamaq üçün əlavə yer yaradırıq. Burada, girişin ilk matrisi almaq üçün r1 * c1 ölçüsünü, ikinci matrisin daxil olması üçün r2 * c2 ölçüsünü elan etdik.

arayış

Translate »