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

2 câu trả lời

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.

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.

Câu hỏi trong lớp Xem thêm