Hiển thị kết quả từ 1 đến 2 / 2
  1. #1
    Tham gia
    04-06-2015
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts

    Ai giúp mình giải bài ma trận xoắn ốc này với!

    Viết chương trình in ra các số nguyên từ 1 đến bình phương N theo hình xoắn ốc với N được nhập vào từ bàn phím. Ví dụ, với N=5 ta có:
    1 2 3 4 5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9

    Mình tham gia thi tin học không chuyện thcs và có tham khảo những bài khác trên mạng nhưng trình độ không đủ, đọc không hiểu. Mong các bạn giúp mình, cảm ơn!
    Quote Quote

  2. #2
    Tham gia
    04-03-2015
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    Code:
    uses crt;
    var
    	 n, w, hang, cot, chanhangtang, chanhanggiam, chancottang, chancotgiam, tang, giam: integer;
    	 matran: array[0..12,0..12] of integer;
    begin
    	clrscr;
    	readln(n);
    	hang:=0;
    	cot:=0;
    	chanhangtang:=n-1;
    	chancottang:=n-1;
    	chanhanggiam:=0;
    	chancotgiam:=0;
    	tang:=0;
    	for w:=0 to n*n-1 do
    		begin
    			matran[hang,cot]:= w + 1;
    			case tang of
    				0 : if (cot < chancottang) then inc(cot) else
    					begin
    						inc(tang);
    						inc(chanhanggiam);
    						inc(hang);
    					end;
    				1 : if (hang < chanhangtang) then inc(hang) else
    					begin
    						inc(tang);
    						dec(chancottang);
    						dec(cot);
    					end;
    				2 : if (cot > chancotgiam) then dec(cot)  else
                        begin
                            inc(tang);
                            dec(chanhangtang);
                            dec(hang);
                        end;
    				3 : if (hang > chanhanggiam) then dec(hang) else
                        begin
                            tang:=0;
                            inc(chancotgiam);
                            inc(cot);
                        end;
    			end;
            end;
      for hang:=0 to n-1 do
    	begin
    		for cot:=0 to n-1 do write(matran[hang,cot],' ');
    		writeln;
    	end;
      readln;
    end.

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •