cho ma trận a và b a) tính ma trận tổng b) tìm vị trí và giá trị của tất cả số đối xứng trong ma trận c) xuất ra ma trận chuyển vị của a

cho ma trận a và b
a) tính ma trận tổng
b) tìm vị trí và giá trị của tất cả số đối xứng trong ma trận
c) xuất ra ma trận chuyển vị của a

0 bình luận về “cho ma trận a và b a) tính ma trận tổng b) tìm vị trí và giá trị của tất cả số đối xứng trong ma trận c) xuất ra ma trận chuyển vị của a”

  1. Program Matran;
    Uses crt;
    Var A, B, C,D:array[0..100,0..100] of longint;
        i,j,m,n,dem,s: longint;

    Function sodoixung(a:longint):boolean;
    Var b,c: longint;
    Begin
            a:=b; c:=0;
            While a<>0 do
            Begin
                    c:=c+a mod 10;
                    a:=a div 10;
            End;
            If c=b then exit(true);
                        exit(false);
    End;

    Begin
            Clrscr;
            Write(‘Nhap so dong: ‘); readln(m);
            Write(‘Nhap so cot: ‘); readln(n);
            For i:=1 to m do
                    For j:=1 to n do
                    Begin
                            Write(‘A[‘,i,’,’,j,’]= ‘);
                            Readln(A[i,j]);
                    End;

            For i:=1 to m do
            Begin
                    For j:=1 to n do
                    Write(A[i,j]:5);
                    Writeln;
            End;

            dem:=0;
            For i:=1 to m do
                    For j:=1 to n do
                            If A[i,j]=0 then dem:=dem+1;
            Write(‘Co ‘,dem,’ phan tu = 0′);
            Writeln;

            s:=0;
            For i:=1 to m do
                    For j:=1 to n do
                            s:=s+A[i,j];
            Write(‘Tong ma tran la: ‘,s);
            Writeln;

            For i:=1 to m do
                    For j:=1 to n do
                    Begin
                            Write(‘B[‘,i,’,’,j,’] = ‘); Readln(B[i,j]);
                    End;

            For i:=1 to m do
                    For j:=1 to n do
                            C[i,j] := A[i,j] + B[i,j];

            For i:=1 to m do
            Begin
                    For j:=1 to n do
                            Write(C[i,j]:5);
                            Writeln;
            End;

            For i:=1 to m do
                    For j:=1 to n do
                            If sodoixung(A[i,j]) then
                            Begin
                                    Write(‘A[‘,i,’,’,j,’ = ‘,A[i,j],’ la so doi xung’);
                                    Writeln;
                            End;

            For j:=1 to m do
                    For i:=1 to n do
                            D[i,j]:=A[j,i];

            Write(‘Ma tran chuyen vi: ‘);
            Writeln;
            For i:=1 to m do
            Begin
                    For j:=1 to n do
                            Write(D[i,j]:5);
                            Writeln;
            End;

            Readln;
    End.

    Bình luận
  2. Câu a), b), c) bạn keyy làm hết rồi :<<

    Nhưng câu c) có cách viết gọn hơn bạn tham khảo chương trình sau:

    const fi=’changematrix.inp’;
          fo=’changematrix.out’;
    var a,b: array [1..20,1..20] of integer;
        i,j,m,n:integer;
    begin
            assign(input,fi);
            reset(input);
            read(m,n);
            for i:=1 to m do
                    begin
                            for j:=1 to n do read(a[i,j]);
                            readln;
                    end;
            close(input);
            assign(output,fo);
            rewrite(output);
            for i := 1 to n do
                    begin
                            for j:=1 to m do write(a[j,i],’ ‘);
                            writeln;
                    end;
            close(output);
    end.

    Bình luận

Viết một bình luận