Sắp Xếp Ma Trận Hình Xoắn ốc - Diễn Đàn Tin Học
Có thể bạn quan tâm
Ghi nhớ?
- Tìm kiếm chi tiết
- 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
- Jump to page:
-
Hỗ trợ
- Phiên bản để in
- Giới thiệu cho bạn bè…
- Theo dõi chủ đề này…
-
Rate This Thread
- Current Rating
- Excellent
- Good
- Average
- Bad
- Terrible
- 20-01-2004 21:12 #1 boyalone
- View Profile
- View Forum Posts
- Visit Homepage
- View Articles
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 - 21-01-2004 13:21 #2 unfriendlyboy
- View Profile
- View Forum Posts
- View Articles
2 biến, 4 vòng for ! xong !
Quote - 21-01-2004 19:02 #3 eagle_in_city
- View Profile
- View Forum Posts
- View Articles
cái này thuộc KTLT mờ Yeah 4 for....
Quote - 23-01-2004 15:06 #4 bete
- View Profile
- View Forum Posts
- View Articles
Đ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 - 30-01-2004 15:21 #5 ldt116
- View Profile
- View Forum Posts
- View Articles
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 - 30-01-2004 17:08 #6 boyalone
- View Profile
- View Forum Posts
- Visit Homepage
- View Articles
Là ma trận ban đầu (do user nhập vào chẳng hạn)
Quote - 30-01-2004 20:23 #7 boyalone
- View Profile
- View Forum Posts
- Visit Homepage
- View Articles
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 - 31-01-2004 10:04 #8 hiepsi4rum
- View Profile
- View Forum Posts
- Visit Homepage
- View Articles
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 - 31-01-2004 13:04 #9 bete
- View Profile
- View Forum Posts
- View Articles
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 - 31-01-2004 17:02 #10 unfriendlyboy
- View Profile
- View Forum Posts
- View Articles
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
- Jump to page:
- 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
- Hoạt động Off-line
- Các cuộc thi dành cho DDTH.com
- Sinh nhật DDTH.com
- Hội Cầu Lông DDTH.com
- Công tác xã hội
- Tin Học Xanh
- Nhật ký THX
- Thông báo
- Thông báo cũ
- Góp ý, đề nghị
- Nhắc nhở - Vi phạm
- Ứng tuyển moderator
- Hoạt động Off-line
- Thảo luận chung
- CNTT Việt Nam và Quốc tế
- Các cuộc thi CNTT
- Tin tức CNTT
- Tin PR & Khuyến mãi
- ISP - ICP - OSP
- Viettel
- FPT
- VNPT
- CMC
- SPT
- Nghề nghiệp
- Tư vấn pháp luật
- Thương mại điện tử
- Advertisers & Publishers
- Search Engine Optimization/Marketing
- Review sản phẩm & công nghệ
- Startup-Khởi Nghiệp!
- CNTT Việt Nam và Quốc tế
- Tư vấn - Thị trường & Kiến thức cần biết
- Tin học căn bản
- Máy tính & Sức khỏe
- Hỗ trợ kỹ thuật
- Phần mềm
- Softwares Request
- Giới thiệu phần mềm
- Máy tính để bàn
- CPU & Mainboard & Memory
- VGA & PSU & Overclocking
- Phần cứng chung & Thiết bị ngoại vi
- Laptop
- Dell
- Tin học căn bản
- Mobile devices
- iPhone & iPad
- iOS Apps
- Android Smartphones
- Android Apps
- BlackBerry
- BlackBerry Apps
- Windows Phones
- Windows Phones Apps
- Wireless Technology
- Tablets
- Discussion
- iPhone & iPad
- Đào tạo
- Công nghệ giáo dục
- Học về CNTT
- Du học
- E-books
- Requests
- Chứng chỉ tin học quốc tế
- Microsoft
- Cisco
- Hand-on Lab
- Technology
- Những chứng chỉ khác
- GroupStudy
- English Room
- Lập trình
- Các ngôn ngữ lập trình
- .NET
- C/C++
- Visual Basic
- Pascal/Delphi/Kylix
- Java
- Các vấn đề khác trong lập trình
- Projects
- Data Structures + Algorithms
- GameDev Zone
- Các ngôn ngữ lập trình
- Hệ thống - Mạng
- Security Zone
- Anti-DDoS
- Windows
- Linux - Unix
- LAN - WAN
- Security Zone
- Internet & Web & Multimedia
- Lập trình web
- DDTH-CMS
- Thiết kế web
- Shockwave Flash
- Graphic Design
- HTML - CSS
- Design Resources
- CMS
- Yêu cầu thiết kế
- CLB Webmasters
- Hot Links !!!
- Scripts - Mods
- Showcase
- Xử lý phim / âm thanh
- Photoshop & Illustration
- 3D World
- Game
- Lập trình web
- Cơ sở dữ liệu
- MS SQL Server
- Oracle
- Hệ CSDL khác
- Domains/Hosting
- Web Hosting / Domain
- Cloud Computing
- Dedicated Hosting / VPS
- Technical & Security
- Advertising
- Hosting Support
- VinaCIS
- Web Hosting / Domain
- Giao lưu - Thư giãn
- Tự giới thiệu - Giao lưu
- Interview
- Miền Bắc
- Miền Trung
- Social Networks
- Góc thư giãn
- Văn tuyển Làng Mùi
- Truyện cười
- Chuyện thời sự
- Đố vui
- Music - Movie - Sport
- Nhiếp ảnh
- Albums
- Máy ảnh - Máy quay phim - Phụ kiện
- Bóng Đá
- Tự giới thiệu - Giao lưu
- Trung Tâm Giao Dịch
- Linh Kiện PC - Laptop
- Điện thoại, tablet và phụ kiện
- Server, domain, hosting
- Giáo dục, đào tạo về CNTT
- Việc làm CNTT
- Người tìm việc
Bookmarks
Bookmarks
- Digg
- del.icio.us
- StumbleUpon
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.vnTừ khóa » Thuật Toán Sắp Xếp Xoắn ốc
-
Thuật Toán Sắp Xếp Xoắn ốc Mảng Hai Chiều - Minh Họa Bằng Pascal
-
Sắp Xếp Mảng 2 Chiều Tăng Dần Theo Hình Xoắn ốc Trong C/C++?
-
Thuật Toán Ma Trận Xoắn ốc? - Tạo Website
-
C - Bài Tập: Vẽ Ma Trận Xoắn ốc - YouTube
-
Bài 5 – Ma Trận Xoắn ốc | Hunglee's Blog
-
Mảng 2 Chiều - Xoắn ốc - Pascal
-
In Ma Trận Mxn Thành Hình Xoắn ốc - Programming - Dạy Nhau Học
-
Giải Pháp Leetcode Ma Trận Xoắn ốc II - TutorialCup
-
Giải Pháp LeetCode Ma Trận Xoắn ốc III - TutorialCup
-
Sắp Xếp Mảng 2 Chiều | Duy Tue's Blog