Sắp Xếp Ma Trận Hình Xoắn ốc - Diễn Đàn Tin Học

Diễn Đàn Tin Học - Powered by vBulletin Ghi nhớ?
  • Tìm kiếm chi tiết
  • Home
  • Diễn đàn
  • Lập trình
  • Các vấn đề khác trong lập trình
  • Data Structures + Algorithms
  • Sắp xếp ma trận hình xoắn ốc
Trang 1 / 2 12 Tiếp theo LastLast
  • Jump to page:
Hiển thị kết quả từ 1 đến 10 / 19 Chủ đề: Sắp xếp ma trận hình xoắn ốc
  • Hỗ trợ
    • Phiên bản để in
    • Giới thiệu cho bạn bè…
    • Theo dõi chủ đề này…
  • Rate This Thread
    • Excellent
    • Good
    • Average
    • Bad
    • Terrible
  1. 20-01-2004 21:12 #1 boyalone's Avatar boyalone
    • View Profile
    • View Forum Posts
    • Visit Homepage
    • View Articles
    boyalone is offline Registered User Tham gia 14-01-2003 Location Hanoi Bài viết 77 Like 0 Thanked 1 Time in 1 Post

    Sắp xếp ma trận hình xoắn ốc

    Cho 1 ma trận kích thước n x m Hãy sắp xếp ma trận theo hình xoắn ốc như sau n,m và chiều sắp xếp do user nhập vào VD: Nguồn: 183 476 592 Đích: 123 894 765 Tui ko làm nổi... cao thủ đâu... nhào zô đi.
    Quote Quote
  2. 21-01-2004 13:21 #2 unfriendlyboy
    • View Profile
    • View Forum Posts
    • View Articles
    unfriendlyboy is offline Registered User Tham gia 04-01-2004 Bài viết 58 Like 0 Thanked 0 Times in 0 Posts
    2 biến, 4 vòng for ! xong !
    Quote Quote
  3. 21-01-2004 19:02 #3 eagle_in_city's Avatar eagle_in_city
    • View Profile
    • View Forum Posts
    • View Articles
    eagle_in_city is offline Registered User Tham gia 16-10-2003 Location HCM Bài viết 29 Like 0 Thanked 0 Times in 0 Posts
    cái này thuộc KTLT mờ Yeah 4 for....
    Quote Quote
  4. 23-01-2004 15:06 #4 bete
    • View Profile
    • View Forum Posts
    • View Articles
    bete is offline Registered User Tham gia 03-01-2004 Bài viết 903 Like 0 Thanked 11 Times in 7 Posts
    Đi xoa('n o^'c => đi vo`ng theo chu vi 1 hi`nh chu*~ nha^.t (ki'ch thuo*'c gia?m da^`n) go.i m la` so^' co^.t; n la` so^' do`ng Ba('t đa^`u đi tu*` vi. tri' (1,1); minX=1, minY=1, maxX=m, maxY=n; đi qua pha?i đi qua pha?i (co^.t ta(ng da^`n) ne^'u đu.ng maxX thi` gia?m maxX đi 1 & đo^?i tha`nh đi xuo^'ng duo*'i đi xuo^'ng duo*'i (do`ng ta(ng da^`n) ne^'u đu.ng maxY thi` gia?m maxY đi 1 & đo^?i tha`nh đi qua tra'i đi qua tra'i (co^.t gia?m da^`n) ne^'u đu.ng minX thi` ta)ng minX the^m 1 & đo^?i tha`nh đi le^n tre^n đi le^n tre^n (do`ng gia?m da^`n) ne^'u đu.ng minY thi` ta(ng minY the^m 1 & đo^?i tha`nh đi qua pha?i Đi đu? (m*n) buo*'c thi` du*`ng
    Quote Quote
  5. 30-01-2004 15:21 #5 ldt116
    • View Profile
    • View Forum Posts
    • View Articles
    ldt116 is offline Registered User Tham gia 30-01-2004 Bài viết 4 Like 0 Thanked 0 Times in 0 Posts
    Cái này la đề thi IOI từ năm 1900 lâu lắc (khoảng 80 - 88 gì đó) Nó khá dễ mà, nếu bạn cần thì mình gõ cho. Nhưng cho hỏi tí, trong VD, nguồn là gì vậy ? I don't understand !!!
    Quote Quote
  6. 30-01-2004 17:08 #6 boyalone's Avatar boyalone
    • View Profile
    • View Forum Posts
    • Visit Homepage
    • View Articles
    boyalone is offline Registered User Tham gia 14-01-2003 Location Hanoi Bài viết 77 Like 0 Thanked 1 Time in 1 Post
    Là ma trận ban đầu (do user nhập vào chẳng hạn)
    Quote Quote
  7. 30-01-2004 20:23 #7 boyalone's Avatar boyalone
    • View Profile
    • View Forum Posts
    • Visit Homepage
    • View Articles
    boyalone is offline Registered User Tham gia 14-01-2003 Location Hanoi Bài viết 77 Like 0 Thanked 1 Time in 1 Post
    Theo cách của bete, tui đã làm thành công... nhưng hơi dài dòng. Nghe unfriendlyboy nói thì có vẻ tối ưu quá, vậy sao không post code lên mọi người xem với Cách của tui: var temp: array[1..100]of byte; a: array[1..10,1..10]of byte; i,j,k,n,m, minX,minY,maxX,maxY,h:byte; procedure View; begin {Hien thi ma tran} for i:=1 to n do begin for j:=1 to m do begin write(a[i,j]:8); end; writeln; writeln; end; end; begin write('Nhap so hang n:');readln(n); write('Nhap so cot m:');readln(m); write('Ban muon nhap du lieu cho ma tran hay muon chuong trinh tu tao ra? [1,0]');readln(i); if i=0 then {Tu dong tao ra} begin randomize; for i:=1 to n do for j:=1 to m do begin a[i,j]:=random(999); end; end else begin for i:=1 to n do for j:=1 to m do begin write('a[',i,',',j,']: ');readln(a[i,j]); end; end; Writeln('Ma tran ban dau:'); View; {Chuyen sang mang 1 chieu temp} for i:=1 to n do for j:=1 to m do begin k:=k+1; temp[k]:=a[i,j]; end; {Sap xep mang temp} for i:=1 to m*n-1 do for j:=i+1 to m*n do if temp[i]>temp[j] then begin k:=temp[i]; temp[i]:=temp[j]; temp[j]:=k; end; {Chuyen mang Temp thanh ma tran} minX:=1; minY:=2; maxX:=m; maxY:=n; i:=1; j:=0; h:=1; for k:=1 to m*n do begin if h=1 then j:=j+1;{right} if h=2 then i:=i+1;{down} if h=3 then j:=j-1;{left} if h=4 then i:=i-1;{up} a[i,j]:=temp[k]; if (j=maxX)and(h=1) then{->down} begin maxX:=maxX-1; h:=2; end; if (j=minX)and(h=3) then{->up} begin minX:=minX+1; h:=4; end; if (i=maxY)and(h=2) then{->left} begin maxY:=maxY-1; h:=3; end; if (i=minY)and(h=4) then{->right} begin minY:=minY+1; h:=1; end; end; Writeln('Ma tran sau khi sap xep:'); View; readln; end.
    Quote Quote
  8. 31-01-2004 10:04 #8 hiepsi4rum's Avatar hiepsi4rum
    • View Profile
    • View Forum Posts
    • Visit Homepage
    • View Articles
    hiepsi4rum is offline Registered User Tham gia 01-12-2003 Location HCM Bài viết 54 Like 0 Thanked 1 Time in 1 Post
    hình như là như vậy : đầu tiên bạn nhập giá trị bất kì vào ma trận(m x m), sắp xếp các giá trị đó -> có thể bạn chép giá trị của ma trận vào 1 mảng cuối cùng là xuất ma trận theo hình xoán ốc -> kỹ thuật lập trình
    Quote Quote
  9. 31-01-2004 13:04 #9 bete
    • View Profile
    • View Forum Posts
    • View Articles
    bete is offline Registered User Tham gia 03-01-2004 Bài viết 903 Like 0 Thanked 11 Times in 7 Posts
    boyalone cho góp ý 1 tí nhé: if h=1 then j:=j+1;{right} if h=2 then i:=i+1;{down} if h=3 then j:=j-1;{left} if h=4 then i:=i-1;{up} nên sửa là if h=1 then j:=j+1 {right} else if h=2 then i:=i+1 {down} else if h=3 then j:=j-1 {left} else if h=4 then i:=i-1 {up} tương tự: if (j=maxX)and(h=1) then{->down} ........ else if (j=minX)and(h=3) then{->up} ........ else if (i=maxY)and(h=2) then{->left} ........ else if (i=minY)and(h=4) then{->right} vì mình có 1 vòng lặp for Đô'i với bài này co thể nó 0 giúp chương trình chạy nhanh hơn gì nhưng đó là 1 thói quen lập trinh tô't 1 cách nữa để đơn giản hóa if h=1 then j:=j+1 {right} else if h=2 then i:=i+1 {down} else if h=3 then j:=j-1 {left} else if h=4 then i:=i-1 {up} là khai báo 2 mảng: dx = 0, 1, 0, -1 dy = 1, 0, -1, 0 và xài: i := i + dx[h]; j := j + dy[h];
    Quote Quote
  10. 31-01-2004 17:02 #10 unfriendlyboy
    • View Profile
    • View Forum Posts
    • View Articles
    unfriendlyboy is offline Registered User Tham gia 04-01-2004 Bài viết 58 Like 0 Thanked 0 Times in 0 Posts
    Cách làm này của bạn chưa được hay lắm. Để mình post cách làm của mình nên nghen. Chờ 1 tí
    Quote Quote
Trang 1 / 2 12 Tiếp theo LastLast
  • Jump to page:
Chuyển nhanh Data Structures + Algorithms Top
  • Site Areas
  • Cá nhân
  • Tin nhắn
  • Subscriptions
  • Ai đang online ?
  • Tìm kiếm trong chuyên mục
  • Trang chủ
  • Chuyên mục
  • Hoạt động của DDTH
    1. Hoạt động Off-line
      1. Các cuộc thi dành cho DDTH.com
      2. Sinh nhật DDTH.com
      3. Hội Cầu Lông DDTH.com
    2. Công tác xã hội
      1. Tin Học Xanh
      2. Nhật ký THX
    3. Thông báo
      1. Thông báo cũ
      2. Góp ý, đề nghị
      3. Nhắc nhở - Vi phạm
      4. Ứng tuyển moderator
  • Thảo luận chung
    1. CNTT Việt Nam và Quốc tế
      1. Các cuộc thi CNTT
    2. Tin tức CNTT
      1. Tin PR & Khuyến mãi
    3. ISP - ICP - OSP
      1. Viettel
      2. FPT
      3. VNPT
      4. CMC
      5. SPT
    4. Nghề nghiệp
      1. Tư vấn pháp luật
    5. Thương mại điện tử
    6. Advertisers & Publishers
    7. Search Engine Optimization/Marketing
    8. Review sản phẩm & công nghệ
    9. Startup-Khởi Nghiệp!
  • Tư vấn - Thị trường & Kiến thức cần biết
    1. Tin học căn bản
      1. Máy tính & Sức khỏe
    2. Hỗ trợ kỹ thuật
    3. Phần mềm
      1. Softwares Request
      2. Giới thiệu phần mềm
    4. Máy tính để bàn
      1. CPU & Mainboard & Memory
      2. VGA & PSU & Overclocking
      3. Phần cứng chung & Thiết bị ngoại vi
    5. Laptop
      1. Dell
  • Mobile devices
    1. iPhone & iPad
      1. iOS Apps
    2. Android Smartphones
      1. Android Apps
    3. BlackBerry
      1. BlackBerry Apps
    4. Windows Phones
      1. Windows Phones Apps
    5. Wireless Technology
    6. Tablets
    7. Discussion
  • Đào tạo
    1. Công nghệ giáo dục
    2. Học về CNTT
      1. Du học
      2. E-books
        1. Requests
    3. Chứng chỉ tin học quốc tế
      1. Microsoft
      2. Cisco
        1. Hand-on Lab
        2. Technology
      3. Những chứng chỉ khác
      4. GroupStudy
    4. English Room
  • Lập trình
    1. Các ngôn ngữ lập trình
      1. .NET
      2. C/C++
      3. Visual Basic
      4. Pascal/Delphi/Kylix
      5. Java
    2. Các vấn đề khác trong lập trình
      1. Projects
      2. Data Structures + Algorithms
      3. GameDev Zone
  • Hệ thống - Mạng
    1. Security Zone
      1. Anti-DDoS
    2. Windows
    3. Linux - Unix
    4. LAN - WAN
  • Internet & Web & Multimedia
    1. Lập trình web
      1. DDTH-CMS
    2. Thiết kế web
      1. Shockwave Flash
      2. Graphic Design
      3. HTML - CSS
      4. Design Resources
      5. CMS
      6. Yêu cầu thiết kế
    3. CLB Webmasters
      1. Hot Links !!!
      2. Scripts - Mods
    4. Showcase
    5. Xử lý phim / âm thanh
    6. Photoshop & Illustration
    7. 3D World
    8. Game
  • Cơ sở dữ liệu
    1. MS SQL Server
    2. Oracle
    3. Hệ CSDL khác
  • Domains/Hosting
    1. Web Hosting / Domain
      1. Cloud Computing
      2. Dedicated Hosting / VPS
    2. Technical & Security
    3. Advertising
    4. Hosting Support
      1. VinaCIS
  • Giao lưu - Thư giãn
    1. Tự giới thiệu - Giao lưu
      1. Interview
      2. Miền Bắc
      3. Miền Trung
      4. Social Networks
    2. Góc thư giãn
      1. Văn tuyển Làng Mùi
      2. Truyện cười
      3. Chuyện thời sự
      4. Đố vui
      5. Music - Movie - Sport
    3. Nhiếp ảnh
      1. Albums
      2. Máy ảnh - Máy quay phim - Phụ kiện
    4. Bóng Đá
  • Trung Tâm Giao Dịch
    1. Linh Kiện PC - Laptop
    2. Điện thoại, tablet và phụ kiện
    3. Server, domain, hosting
    4. Giáo dục, đào tạo về CNTT
    5. Việc làm CNTT
      1. Người tìm việc
« Bài trước | Bài tiếp theo »

Bookmarks

Bookmarks
  • Submit to Digg Digg
  • Submit to del.icio.us del.icio.us
  • Submit to StumbleUpon StumbleUpon
  • Submit to Google Google

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
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Quy định DDTH.com

Theo giờ GMT +7 :: 18:49. Powered by: vBulletin version 4.2.0. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Founded by vikhoa. Developed by DDTH Members. Hosted by ODS.vn

Từ khóa » Thuật Toán Sắp Xếp Xoắn ốc