Có ai giỏi lập trình pascal không giúp mình với

sauthienthu

GIÓ CỨ MÃI VÔ TÂM
Thành viên thân thiết
Tham gia
30/1/2012
Bài viết
341
đề bài:
1,cho dãy số nguyên lấy từ tệp 'sn.dat' gồm các số 1,2,3. hãy sắp xếp dãy đó thành dãy sao cho phần đầu là các chữ số 1, tiêp theo là các chữ số 3 cuối cung là số 2 với số lần trao đổi ít nhất và lưu vào têp 'snsx.dat'.
2, cho dãy số nguyên lấy ra từ tệp 'songuyen.dat'. hãy sắp xếp dãy đó thành dãy không tăng và lưu vào tệp 'snsapxep.dat'
 
File sn.dat được lưu trữ thế nào bạn ?
VD: Dạng
Mã:
1,2,3,5,4,6,12,34,45
hay sao ?

hãy sắp xếp dãy đó thành dãy sao cho phần đầu là các chữ số 1, tiêp theo là các chữ số 3 cuối cung là số 2
bạn thử cho nội dung 1 file sn.dat mẫu và kết quả sau khi sắp xếp xem.
Sau khi sắp xếp có ghi lại vào file ko ?
 
File sn.dat được lưu trữ thế nào bạn ?
VD: Dạng
Mã:
1,2,3,5,4,6,12,34,45
hay sao ?


bạn thử cho nội dung 1 file sn.dat mẫu và kết quả sau khi sắp xếp xem.
Sau khi sắp xếp có ghi lại vào file ko ?
tệp 'sn.dat' gồm các số 1,2,3 sắp xếp lộn xộn. sau khi đã sắp xếp thành dãy theo đề bài thì lưu dãy vừa sắp xếp vào 'snsx2.dat'. giúp mình với:KSV@17:

----------

vi dụ : tệp 'sn.dat' là dãy 2,1,3,1,2,3. dãy sau khi sắp xếp là 1,1,3,3,2,2 và lưu vào 'snsx2.dat'
 
Cái này mở 2 tệp 1 tệp để đọc, 1 tệp để ghi đúg ko thienthu
 
uhm. hình như là vậy. mình đang gặp rắc rối với mấy bài này đây
 
Khó ở chỗ sắp xếp ấy. Việc mở tệp để đọc và ghi viết theo cú pháp pascal thôi.
 
mình làm mà khong chay được
 
mình làm lung tung lắm giờ không biết đằng nào mà lần nữa
 
Phần săp xếp khoai ko biết. Nhưg lúc đầu khai báo assign, rồi reset, rewrite thì phải. Câu lệnh sắp xếp thienthu học rồi hả?
 
uhm. sắp xếp thì có học nhưng mà chẳng hiểu gì luôn
 
Sắp xếp sao? Hình như khoai chưa học tới đó. Mà thienthu làm phần khai báo đi. Làm đến đó chắc gv cho điểm đó.
 
trời ah.bài làm về nhà mà làm như thế thì không có điểm đâu khoai ơi. điểm nằm ở thuạt toán cơ
 
thế mới buồn nek. biết thế này thì...
 
Câu 1:
Cho 3 biến n1, n2, n3 với ni là số lần số i xuất hiện trong dãy của file sn.dat.
Mã giả:
1. Mở file "sn.dat" kiểu đọc.
2. Đặt con trỏ tại vị trí đầu của file.
3. n1 := 0; n2 :=0; n3:=0
4. WHILE con trỏ không ở vị trí cuối file DO
BEGIN
4.1 x := giá trị phần tử tại con trỏ;
4.2 IF x = 1 THEN n1 := n1 + 1;
4.3 IF x = 2 THEN n2 := n2 + 1;
4.4 IF x = 3 THEN n3 := n3 + 1;
END
5. Tạo file mới "snsx.dat".
6. Đặt con trỏ tại vị trí đầu file "snsx.dat".
7. FOR i := 1 TO n1 DO Ghi số 2 vào file "snsx.dat";
8. FOR i := 1 TO n2 DO Ghi số 3 vào file "snsx.dat";
9. FOR i := 1 TO n3 DO Ghi số 1 vào file "snsx.dat";

P/s: cái này là ít nhất nè, không cần trao đổi 2 phần tử bất kỳ :KSV@05:
 
chào cả nhà!! mình là thành viên mới! rất mong đc làm quen với mọi người :D
 
Phần đó là thuật toán. Thienthu phải viết chươg trình rồi.
 
Câu 1:
Cho 3 biến n1, n2, n3 với ni là số lần số i xuất hiện trong dãy của file sn.dat.
Mã giả:
1. Mở file "sn.dat" kiểu đọc.
2. Đặt con trỏ tại vị trí đầu của file.
3. n1 := 0; n2 :=0; n3:=0
4. WHILE con trỏ không ở vị trí cuối file DO
BEGIN
4.1 x := giá trị phần tử tại con trỏ;
4.2 IF x = 1 THEN n1 := n1 + 1;
4.3 IF x = 2 THEN n2 := n2 + 1;
4.4 IF x = 3 THEN n3 := n3 + 1;
END
5. Tạo file mới "snsx.dat".
6. Đặt con trỏ tại vị trí đầu file "snsx.dat".
7. FOR i := 1 TO n1 DO Ghi số 2 vào file "snsx.dat";
8. FOR i := 1 TO n2 DO Ghi số 3 vào file "snsx.dat";
9. FOR i := 1 TO n3 DO Ghi số 1 vào file "snsx.dat";

P/s: cái này là ít nhất nè, không cần trao đổi 2 phần tử bất kỳ :KSV@05:
cảm ơn ban

----------

Phần đó là thuật toán. Thienthu phải viết chươg trình rồi.
buồn thât nek:KSV@17:
 
×
Quay lại
Top