Verilmiş iki matrisin eyni olub olmadığını yoxlayın

Çətinlik səviyyəsi Asan
Tez-tez soruşulur Təsdiq edin Ameyo Didi Pony.ai
Geyim Matris Məktəb ProqramlaşdırmasıBaxılıb 505

Problem bəyanat

İki matris verildikdə, iki matrisin eyni olub olmadığını yoxlamaq üçün bir funksiya yazacağıq. Yəni, iki matrisin müvafiq mövqelərindəki bütün elementlər eynidirsə, deməli onların eyni olduğunu söyləyirik.

Giriş Formatı

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

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ı

Çap et “Identical matrices"Matrislər eynidirsə, əks halda"Not identical matrices".

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

4 4 4 4   
1 4 7 9
1 6 7 6
6 3 7 12
4 4 4 4
1 4 7 9
1 6 7 6
6 3 7 12
4 4 4 4
Identical matrices

Explanation: Yuxarıdakı nümunədə matrislərdəki bütün elementlər eynidir, buna görə eynidır.

Aşağıdakı görüntünü izləyərək matrislərdə hər elementin necə yoxlanacağını görək. Bu daha yaxşı başa düşmək üçün başqa bir nümunədir.

Verilmiş iki matrisin eyni olub olmadığını yoxlamaq üçün alqoritm

1. İki matrisdəki hər bir sıra üçün həmin cərgədəki elementləri müqayisə edin.

1.1 Eynidirsə, növbəti sıraya keçin.

1.2 Başqa fasilə və çap “matrislər eyni deyil”.

2. Döngə pozulmamışdırsa, matrislər eynidır.

Həyata keçirilməsi

Verilən iki matrisin eyni olub olmadığını yoxlamaq üçü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<<"Not identical matrices";
    }
    else
    {
    int flag=0;    
    for(int i=0;i<r1;i++)
    {
        for(int j=0;j<c1;j++)
        {
            if(a[i][j]!=b[i][j])
            {
                flag=1;
                break;
            }
        }
    }
    if(flag==1)
    {
        cout<<"Identical matrices";
    }
    }
    return 0;
}

Verilən iki matrisin eyni olub olmadığını yoxlamaq üçün Java proqramı

import java.io.*; 
import java.util.Scanner;
class sum
{ 
    // 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("\nNot identical matrices"); 
        } 
        else
        {
            for(int i=0;i<r1;i++)
            {
                for(int j=0;j<c1;j++)
                {
                    if(a[i][j]!=b[i][j])
                    {
                        System.out.println("\nNot identical matrices");
                        return;
                    }
                }
            }
            System.out.println("\nIdentical matrices");
        }
    } 
}
2 2 2 2
1 2
3 4
1 2
3 4
Identical matrices

Verilmiş iki matrisin eyni olub olmadığını yoxlamaq üçün mürəkkəblik təhlili

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 (1) çünki nəticəni tapmaq üçün əlavə yer yaratmırıq. Burada yalnız 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 »