Trang chủ Tin Học Lớp 9 Lập bảng số nguyên nxn tăng dần theo hình zizac(pascal...

Lập bảng số nguyên nxn tăng dần theo hình zizac(pascal hay c/c++ đều được)vd n-6 2 15 16 3 5 8 14 17 26 4. 9. 13 18 25 27 10 12 19 24 28 33 11 20 23 29 32 34 2

Câu hỏi :

Lập bảng số nguyên nxn tăng dần theo hình zizac(pascal hay c/c++ đều được)

image

Lời giải 1 :

uses crt;
var n,i,j:longint; a:array[1..1000,1..1000]of longint;
procedure make; 
var i,x,y,k,z:longint;  
begin
   x:=1; y:=1; k:=1; i:=0;
   repeat
      inc(i);
      a[x,y]:=i; 
      if (x=1)and(y<>n) then begin inc(y); k:=2; inc(i); a[x,y]:=i; end else
      if (y=1)and(x<>n) then begin inc(x); k:=1; inc(i); a[x,y]:=i; end else
      if x=n then begin inc(y); k:=1; inc(i); a[x,y]:=i; end else
      if y=n then begin inc(x); k:=2; inc(i); a[x,y]:=i; end;
      if k=1 then begin dec(x); inc(y) end else 
      if k=2 then begin inc(x); dec(y) end;     
   until i>=n*n-3;
   a[n,n]:=n*n; a[n,n-1]:=n*n-1
end;
begin
clrscr;
   write('n=');readln(n);
   make;
   for i:=1 to n do 
      begin
         for j:=1 to n do write(a[i,j]:5);
         writeln; 
      end;
readln
end.

Thảo luận

-- Khá vất vả, khi nào có ng trả lời thì cho a hay nhất nhé.
-- ủa :vv mình k có ý gì :V sao mọi ng làm quá vấn đề thế cái này làm bằng chặt nhị phãn
-- rất đơn giản xử lý vô bài cx dễ ạ :v
-- e nghĩ chắc ko có ai tl nữa đâu :))
-- Em ko biết, nhưng nó vẫn đúng

Lời giải 2 :

Var
    i, j, n, Col, Row, count: Word;
    arr: Array[1..10000, 1..10000] of Word; 
Begin
    count:= 0;
    readln(n);
    for i:= 1 to n do
        If i mod 2 = 0 then
        Begin
            Row:=1;
            for Col:= i downto 1 do
            Begin
                Inc(count);
                Arr[Row][Col]:= count;
                Inc(Row);
            End;
        End
        else
        Begin
            Col:=1;
            for Row:= i downto 1 do
            Begin
                Inc(count);
                Arr[Row][Col]:= count;
                Inc(Col);
            End;
        End;
    for i:= 1 to n-1 do
        If i mod 2 = 0 then
        Begin
            Col:=n;
            for Row:= i+1 to n do
            Begin
                Inc(count);
                Arr[Row][Col]:= count;
                Dec(Col);
            End;
        End
        else
        Begin
            Row:=n;
            for Col:= i+1 to n do
            Begin
                Inc(count);
                Arr[Row][Col]:= count;
                Dec(Row);
            End;
        End;
    for i:=1 to n do
    Begin
        for j:=1 to n do
            write(arr[i][j], ' ');
        writeln();
    End;
End.
        

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, sắp phải bước vào một kì thi căng thẳng và sắp chia tay bạn bè, thầy cô và cả kì vọng của phụ huynh ngày càng lớn mang tên "Lên cấp 3". Thật là áp lực nhưng các em hãy cứ tự tin vào bản thân là sẻ vượt qua nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247