Nhập vào một mảng hai chiều,tính tổng các đường chéo

2 câu trả lời

program phuongt;
uses crt;
  var A: array[1..50, 1..50] of integer;
        i, j, s, k, n: integer;
begin
        clrscr;
        write('Nhap n = '); readln(n);
        for i:=1 to n do
                for j:=1 to n do
                begin
                        write('A[', i, ',', j, '] = '); readln(A[i,j]);
                end;
       for i:=1 to n do
                for j:=1 to n do
                begin
                        write(A[i,j]:3);
                        if j=n then writeln;
                end;
        for i:=1 to n do
               for j:=1 to n do if i=j then s:=s+A[i,j];
        writeln('Tong duong cheo chinh: ', s);
        for i:=1 to n do
               for j:=1 to n do if i+j-1=n then k:=k+A[i,j];
        writeln('Tong duong cheo phu: ', k);
        readln
end.

#Baongắn

Không biết bạn cần loại nhập nào nhỉ? Mình làm 2 cách luôn nè ;))

C1. Nhập nhiều dòng:

uses crt;
var i,j,n,m,d1,d2:longint; a:array[1..1000,1..1000]of longint;
begin
clrscr;
   write('Nhap n,m: ');readln(n,m);
   for i:=1 to n do 
         for j:=1 to m do 
            begin 
               write('Nhap a[',i,',',j,',]: ');readln(a[i,j]); 
               if i=j then inc(d1,a[i,j]);
               if i=n-j+1 then inc(d2,a[i,j]);
            end;
   writeln('Tong duong cheo tren tu trai sang phai: ',d1);
   writeln('Tong duong cheo tren tu phai sang trai: ',d2);
readln
end.   

C2. Nhập máy (nhập như khi xuất mảng):

uses crt;
var i,j,n,m,d1,d2:longint; a:array[1..1000,1..1000]of longint;
begin
clrscr;
   write('Nhap n,m: ');readln(n,m);
   for i:=1 to n do 
      begin
         for j:=1 to m do 
            begin 
               read(a[i,j]); 
               if i=j then inc(d1,a[i,j]);
               if i=n-j+1 then inc(d2,a[i,j]);
            end;
         readln;
      end;
   writeln('Tong duong cheo tren tu trai sang phai: ',d1);
   writeln('Tong duong cheo tren tu phai sang trai: ',d2);
readln
end.   

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