Thứ Ba, 30 tháng 7, 2019

Bài 37 - Giải thuật nhập môn

Cho 1 bảng A NxN số nguyên ( N<=100). Mỗi số trong bảng có giá trị tuyệt đối không vượt quá 30000. Bảng B được tạo ra từ bảng bảng A theo quy tắc sau:
Phần tử của B nằm dòng i, cột j có giá trị bằng tổng của các số nằm trong ô (i,j) và các ô kề nó trong bảng A:
     Bij = Aij+A(i+1)j+A(i-1)j+Ai(j+1)+Ai(j-1)
Chú ý: Các phần tử  nằm ngoài bảng coi như bằng  có giá trị bằng 0.
Bài toán: Cho bảng A. Hãy tạo bảng B tương ứng.
Dữ liệu vào: 
Table.inp:
Dòng đầu: số N
Dòng thứ i trong N dòng tiếp theo chứa N số nguyên lần lượt tương ứng với các phần tử nằm trên dòng thứ I  của bảng A.
Kết quả : 
Table.out
dòng đầu chứa số N
Dòng thứ i trong N dòng tiếp theo chứa N số nguyên lần lượt tương ứng với các phần tử nằm trên dòng thứ I  của bảng A.

1 nhận xét:

  1. Uses crt;
    Var n,i,j:longint;
    a,b:array[0..100,0..100] of longint;
    Begin
    readln(n);
    fillchar(a,sizeof(a),0);
    fillchar(b,sizeof(b),0);
    For i:=1 to n do
    For j:=1 to n do
    readln(a[i,j]);
    For i:=1 to n do
    For j:=1 to n do
    b[i,j]:=a[i,j]+a[i-1,j]+a[i+1,j]+a[i,j-1]+a[i,j+1];
    For i:=1 to n do
    Begin
    For j:=1 to n do
    Write(b[i,j]:4);
    Writeln;
    end;
    readln;
    end.

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất