Đến nội dung

Hình ảnh

Topic Hỏi bài Pascal


  • Please log in to reply
Chủ đề này có 77 trả lời

#41
Zjkar

Zjkar

    Hạ sĩ

  • Thành viên
  • 82 Bài viết

Tiếp đi p

Xin lỗi đang nghĩ mà hơi ríc rắc ở đoạn tìm số bé nhất thỏa mãn Đk,,,lúc đầu đọc sơ qua thấy khá giống cái bài hôm trước mình làm nhưng giời đọc lại công nhận nó nặng hơn 1 tí @@....Bạn cố gắng chờ thêm vài bữa nữa khi nào nghĩ ra thì mình post lên ngay.



#42
The Dark Hunter

The Dark Hunter

    Binh nhất

  • Thành viên mới
  • 20 Bài viết

Xin lỗi đang nghĩ mà hơi ríc rắc ở đoạn tìm số bé nhất thỏa mãn Đk,,,lúc đầu đọc sơ qua thấy khá giống cái bài hôm trước mình làm nhưng giời đọc lại công nhận nó nặng hơn 1 tí @@....Bạn cố gắng chờ thêm vài bữa nữa khi nào nghĩ ra thì mình post lên ngay.

mk vẫn chưa hiểu đề lắm p cho vd dc ko?

Đức HD Trần:  :icon6:  :D  :like 

 

AK36 Trường THPT Quang Trung tỉnh Hải Dương


#43
Nobel

Nobel

    Hạ sĩ

  • Thành viên
  • 93 Bài viết

mk vẫn chưa hiểu đề lắm p cho vd dc ko?

Đây nè:

 

Bài 2: (3,0 điềm) Xóa số                                               

Cho một số tự nhiên có n chữ số a = a1a2.. an với aiÎ{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}           i = 1..n. Hãy tìm cách xoá bỏ m chữ số của a sao cho số thu được sau khi xoá m chữ số thì số thu được là nhỏ nhất.

Dữ liệu: vào từ file BAI2.INP có cấu trúc:

-   Dòng đầu ghi hai giá trị n, m cách nhau ít nhất một dấu cách. (1<= N <= 30)

-   n dòng tiếp theo ghi các chữ số của a theo trình tự từ trái qua phải.

Kết quả: ghi ra file BAI2.OUT gồm:

-   M dòng đầu tiên mỗi dòng chứa một chỉ số của số bị xoá trong số a ban đầu.

-   Dòng cuối cùng ghi ra số còn lại sau khi xoá, nếu là số có chứa số 0 ở đầu thì số 0 đó được coi là tự động được bỏ.

 

VD1:a = 1200123

Bài 1.inp                                                                    bài 1.out

 

7 2                                                                              1

1                                                                                 2

2                                                                                 123

0

0

1

2

3

 

VD2:a =  321987

 

Bài 1.inp                                                 bài 1.out

 

6 3                                                               1

3                                                                  2

2                                                                  4

1                                                                  187

9

8

7

 THấy chưa, bạn xem nếu có ý tưởng gì ay hay thì anh em cùng đưa ra thỏa luận nhé . ;)


" Im lặng là câu trả lời tốt nhất mà bạn có thể dành cho kẻ ba hoa " !

 




 

 


#44
transontung

transontung

    Binh nhất

  • Thành viên mới
  • 25 Bài viết

Đây nè:

 

Bài 2: (3,0 điềm) Xóa số                                               

Cho một số tự nhiên có n chữ số a = a1a2.. an với aiÎ{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}           i = 1..n. Hãy tìm cách xoá bỏ m chữ số của a sao cho số thu được sau khi xoá m chữ số thì số thu được là nhỏ nhất.

Dữ liệu: vào từ file BAI2.INP có cấu trúc:

-   Dòng đầu ghi hai giá trị n, m cách nhau ít nhất một dấu cách. (1<= N <= 30)

-   n dòng tiếp theo ghi các chữ số của a theo trình tự từ trái qua phải.

Kết quả: ghi ra file BAI2.OUT gồm:

-   M dòng đầu tiên mỗi dòng chứa một chỉ số của số bị xoá trong số a ban đầu.

-   Dòng cuối cùng ghi ra số còn lại sau khi xoá, nếu là số có chứa số 0 ở đầu thì số 0 đó được coi là tự động được bỏ.

 

VD1:a = 1200123

Bài 1.inp                                                                    bài 1.out

 

7 2                                                                              1

1                                                                                 2

2                                                                                 123

0

0

1

2

3

 

VD2:a =  321987

 

Bài 1.inp                                                 bài 1.out

 

6 3                                                               1

3                                                                  2

2                                                                  4

1                                                                  187

9

8

7

 THấy chưa, bạn xem nếu có ý tưởng gì ay hay thì anh em cùng đưa ra thỏa luận nhé . ;)

Mk lấy cái vd nhé:

Vd là: 

 số cần nhập là: 321987

 vị trí các số cần xóa số 1 là số 3

"                                   "2 là số 2

"                                   " 4 là số 9

Số sau khi xóa là: 187

Đó :D Làm nhanh hộ nha 



#45
Nobel

Nobel

    Hạ sĩ

  • Thành viên
  • 93 Bài viết

Mk lấy cái vd nhé:

Vd là: 

 số cần nhập là: 321987

 vị trí các số cần xóa số 1 là số 3

"                                   "2 là số 2

"                                   " 4 là số 9

Số sau khi xóa là: 187

Đó :D Làm nhanh hộ nha 

Bài này mình đang nghĩ ...nhưng vẫn chưa ra.Bạn có ý gì hay ko nói với !

Dù sao thì đây cũng là đề thi TIN học trẻ Tỉnh nên những đứa gà như mình cũng cần có time !

Nhưng mà mình nói trước là chưa chắc mình đã làm đc nên tốt nhất là bạn nên đi hỏi người khác thử !

Nhiều cái đầu vẫn hơn 1 cái đầu mà :lol: 

Thanks :excl:  


" Im lặng là câu trả lời tốt nhất mà bạn có thể dành cho kẻ ba hoa " !

 




 

 


#46
Master Kaiser

Master Kaiser

    Thượng sĩ

  • Thành viên
  • 265 Bài viết
" Trên hai đuờng thẳng song song L1 và L2, Người ta đánh dấu trên mỗi đường N 
Điểm, Các điểm  trên đường  thẳng L1 Được đánh số từ 1 đến N, từ  trái qua phải,  
còn các điểm  trên đường  thẳng L2 được đánh số bởi P[1],P[2],...P[N] cũng từ  trái 
qua phải, trong đó P[1],P[2],..P[N] là một hoán vị của các số 1,2,...N  
Ta gọi các số gán cho các điểm là số hiệu của chúng. Cho phép nối hai điểm trên 2 
đường thẳng có cùng số hiệu. 
Yêu Cầu  : Tìm cách nối được nhiều cặp điểm nhất với điều kiện các đoạn nối không 
được cắt nhau.  
Dữ Liệu : Vào từ File BaiToan2.Inp: 
•  Dòng đầu tiên chứa số nguyên dương N(N<=1000) 
•  Dòng thứ hai chứa các số P[1],P[2],....P[N] 
Kết Quả Ghi Ra File : BaiToan2.Out  
•  Dòng Đầu tiên chứa K là số lượng đoạn nối tìm được 
•  Dòng tiếp theo chứa K số hiệu của các đầu mút của các đoạn nối được ghi theo thứ 
tự tăng dần.  
Ví Dụ : 
      WIRES.INP          WIRES.OUT 
9   5 
2 5 3 8 7 4 6 9 1   2 3 4 6 9

  • PUA yêu thích

               Master Kaiser

                                   Liên hệ facebook : https://www.facebook...uyenhoanganh238


#47
thuminhtrannguyen

thuminhtrannguyen

    Lính mới

  • Thành viên mới
  • 1 Bài viết

Viết chương trình cho biết có bao nhiêu cách đi từ điểm đầu tiên đến điểm cuối cùng (đường đi phải qua  tất cả các điểm) và đi theo đường nào để tốn chi phí thấp nhất.

- Dữ liệu vào:  Nhập từ bàn phím một dòng văn bản cho biết các địa điểm và các số cho biết chi phí tương ứng trên các đường đi giữa hai điểm đó. Ví dụ: A2143B213C74D2756E  nghĩa là có 5 địa điểm A,B,C,D,E và điểm cuối là E. Giữa A và B có 4 con số 2143 tương ứng chi phí của 4 đường đi từ A đến B. Tương tự giữa các điểm B và C, C và D, D và E.

- Dữ liệu ra: Xuất ra màn hình gồm hai dòng, dòng đầu là một số nguyên cho biết số cách có thể đi từ điểm đầu đến điểm cuối mà phải qua tất cả các điểm. Dòng thứ 2 là một chuỗi cho biết đường đi từ điểm đầu đến điểm cuối cùng với chi phí thấp nhất giữa các điểm. 

Help mình.



#48
Mystic

Mystic

    Thượng sĩ

  • Thành viên
  • 240 Bài viết

 

" Trên hai đuờng thẳng song song L1 và L2, Người ta đánh dấu trên mỗi đường N 
Điểm, Các điểm  trên đường  thẳng L1 Được đánh số từ 1 đến N, từ  trái qua phải,  
còn các điểm  trên đường  thẳng L2 được đánh số bởi P[1],P[2],...P[N] cũng từ  trái 
qua phải, trong đó P[1],P[2],..P[N] là một hoán vị của các số 1,2,...N  
Ta gọi các số gán cho các điểm là số hiệu của chúng. Cho phép nối hai điểm trên 2 
đường thẳng có cùng số hiệu. 
Yêu Cầu  : Tìm cách nối được nhiều cặp điểm nhất với điều kiện các đoạn nối không 
được cắt nhau.  
Dữ Liệu : Vào từ File BaiToan2.Inp: 
•  Dòng đầu tiên chứa số nguyên dương N(N<=1000) 
•  Dòng thứ hai chứa các số P[1],P[2],....P[N] 
Kết Quả Ghi Ra File : BaiToan2.Out  
•  Dòng Đầu tiên chứa K là số lượng đoạn nối tìm được 
•  Dòng tiếp theo chứa K số hiệu của các đầu mút của các đoạn nối được ghi theo thứ 
tự tăng dần.  
Ví Dụ : 
      WIRES.INP          WIRES.OUT 
9   5 
2 5 3 8 7 4 6 9 1   2 3 4 6 9

 

Ở những đoạn đó nói rõ hơn đi bạn .Vs lại ví dụ có vấn đề rồi bạn ạ !


>>> Nếu bạn luôn buồn phiền hãy dùng hy vọng để chữa trị <<<

Và ...

>>>  Không bao giờ nói bạn đã thất bại

Cho đến khi đó là nỗi lực cuối cùng của bạn

           Và không bao giờ nói rằng:

        Đó là nỗi lực cuối cùng của bạn

         Cho tới khi bạn đã thành công  >>>

 

~ Mystic Lâm


#49
Mystic

Mystic

    Thượng sĩ

  • Thành viên
  • 240 Bài viết

Viết chương trình cho biết có bao nhiêu cách đi từ điểm đầu tiên đến điểm cuối cùng (đường đi phải qua  tất cả các điểm) và đi theo đường nào để tốn chi phí thấp nhất.

- Dữ liệu vào:  Nhập từ bàn phím một dòng văn bản cho biết các địa điểm và các số cho biết chi phí tương ứng trên các đường đi giữa hai điểm đó. Ví dụ: A2143B213C74D2756E  nghĩa là có 5 địa điểm A,B,C,D,E và điểm cuối là E. Giữa A và B có 4 con số 2143 tương ứng chi phí của 4 đường đi từ A đến B. Tương tự giữa các điểm B và C, C và D, D và E.

- Dữ liệu ra: Xuất ra màn hình gồm hai dòng, dòng đầu là một số nguyên cho biết số cách có thể đi từ điểm đầu đến điểm cuối mà phải qua tất cả các điểm. Dòng thứ 2 là một chuỗi cho biết đường đi từ điểm đầu đến điểm cuối cùng với chi phí thấp nhất giữa các điểm. 

Help mình.

Cho ví dụ đi bạn .Đề mà ko có vd thì khó hiểu lắm !

Và chi phí tức là tổng của các số trong khoảng A->B,B->C,.... hả ?

Hay chi phí chính là độ lớn của số đó luôn ?


>>> Nếu bạn luôn buồn phiền hãy dùng hy vọng để chữa trị <<<

Và ...

>>>  Không bao giờ nói bạn đã thất bại

Cho đến khi đó là nỗi lực cuối cùng của bạn

           Và không bao giờ nói rằng:

        Đó là nỗi lực cuối cùng của bạn

         Cho tới khi bạn đã thành công  >>>

 

~ Mystic Lâm


#50
Tu Pham

Tu Pham

    Binh nhất

  • Thành viên mới
  • 27 Bài viết


Cho ví dụ đi bạn .Đề mà ko có vd thì khó hiểu lắm !

Và chi phí tức là tổng của các số trong khoảng A->B,B->C,.... hả ?

Hay chi phí chính là độ lớn của số đó luôn ?

 



Viết chương trình cho biết có bao nhiêu cách đi từ điểm đầu tiên đến điểm cuối cùng (đường đi phải qua  tất cả các điểm) và đi theo đường nào để tốn chi phí thấp nhất.

- Dữ liệu vào:  Nhập từ bàn phím một dòng văn bản cho biết các địa điểm và các số cho biết chi phí tương ứng trên các đường đi giữa hai điểm đó. Ví dụ: A2143B213C74D2756E  nghĩa là có 5 địa điểm A,B,C,D,E và điểm cuối là E. Giữa A và B có 4 con số 2143 tương ứng chi phí của 4 đường đi từ A đến B. Tương tự giữa các điểm B và C, C và D, D và E.

- Dữ liệu ra: Xuất ra màn hình gồm hai dòng, dòng đầu là một số nguyên cho biết số cách có thể đi từ điểm đầu đến điểm cuối mà phải qua tất cả các điểm. Dòng thứ 2 là một chuỗi cho biết đường đi từ điểm đầu đến điểm cuối cùng với chi phí thấp nhất giữa các điểm. 

Help mình.

các bạn tham khảo đây là 1 cách - Thành viên:Tu Pham:

uses crt;

var  st,diem:string;

     i,dem,code,tam,tam1,code1,min,j:integer;cach:longint;

     a:array[1..30]of string;

     mangdiem:array[1..50] of char;

     mangmin:array[1..30] of integer;

begin

     clrscr;

     Write('Nhap chuoi:');readln(st);

     dem:=0;

     for i:=1 to length(st) do

     begin

          val(st[i],tam,code) ;

          if code =0 then a[dem]:=concat(a[dem],st[i])

             else begin dem:=dem+1;diem:=concat(diem,st[i]);end;

     end;

     cach:=1;

     for i:=1 to dem do if length(a[i])<> 0 then cach:=length(a[i])*cach;

     writeln(cach);

     for i:=1 to dem do

     begin

         val(a[i][1],min,code);

         for j:=2 to length(a[i]) do

             begin val(a[i][j],tam,code) ;if min>tam then min:=tam;end;

         mangmin[i]:=min;

     end;

     for i:=1 to dem -1 do  write(diem[i],mangmin[i]); write(diem[dem]);

 

     readln;

end.


Bài viết đã được chỉnh sửa nội dung bởi Tu Pham: 12-04-2016 - 00:34

-- Hồng Tư --


#51
Mystic

Mystic

    Thượng sĩ

  • Thành viên
  • 240 Bài viết


 

các bạn tham khảo đây là 1 cách - Thành viên:Tu Pham:

uses crt;

var  st,diem:string;

     i,dem,code,tam,tam1,code1,min,j:integer;cach:longint;

     a:array[1..30]of string;

     mangdiem:array[1..50] of char;

     mangmin:array[1..30] of integer;

begin

     clrscr;

     Write('Nhap chuoi:');readln(st);

     dem:=0;

     for i:=1 to length(st) do

     begin

          val(st[i],tam,code) ;

          if code =0 then a[dem]:=concat(a[dem],st[i])

             else begin dem:=dem+1;diem:=concat(diem,st[i]);end;

     end;

     cach:=1;

     for i:=1 to dem do if length(a[i])<> 0 then cach:=length(a[i])*cach;

     writeln(cach);

     for i:=1 to dem do

     begin

         val(a[i][1],min,code);

         for j:=2 to length(a[i]) do

             begin val(a[i][j],tam,code) ;if min>tam then min:=tam;end;

         mangmin[i]:=min;

     end;

     for i:=1 to dem -1 do  write(diem[i],mangmin[i]); write(diem[dem]);

 

     readln;

end.

Cho mình thuật toán của bạn đi 


>>> Nếu bạn luôn buồn phiền hãy dùng hy vọng để chữa trị <<<

Và ...

>>>  Không bao giờ nói bạn đã thất bại

Cho đến khi đó là nỗi lực cuối cùng của bạn

           Và không bao giờ nói rằng:

        Đó là nỗi lực cuối cùng của bạn

         Cho tới khi bạn đã thành công  >>>

 

~ Mystic Lâm


#52
Master Kaiser

Master Kaiser

    Thượng sĩ

  • Thành viên
  • 265 Bài viết

Ở những đoạn đó nói rõ hơn đi bạn .Vs lại ví dụ có vấn đề rồi bạn ạ !

okey mình đã làm được rồi cảm ơn :D


  • PUA yêu thích

               Master Kaiser

                                   Liên hệ facebook : https://www.facebook...uyenhoanganh238


#53
Tu Pham

Tu Pham

    Binh nhất

  • Thành viên mới
  • 27 Bài viết

Cho mình thuật toán của bạn đi 

làm như cái thuật toán bạn phải tự suy ngĩ quá.. hihi..


-- Hồng Tư --


#54
hoicmvsao

hoicmvsao

    Thượng sĩ

  • Thành viên
  • 299 Bài viết

Bai 2:

       - Xay dung sang nto;

       - Voi moi so loang sang 2 ben truc so , ghi lai so dau tien tim duoc ok?



#55
Mystic

Mystic

    Thượng sĩ

  • Thành viên
  • 240 Bài viết

Bai 2:

       - Xay dung sang nto;

       - Voi moi so loang sang 2 ben truc so , ghi lai so dau tien tim duoc ok?

Bạn có thể nói rõ hơn đc ko ?

Mình chỉ xin ý tưởng thôi.

Viết có dấu hộ ....


>>> Nếu bạn luôn buồn phiền hãy dùng hy vọng để chữa trị <<<

Và ...

>>>  Không bao giờ nói bạn đã thất bại

Cho đến khi đó là nỗi lực cuối cùng của bạn

           Và không bao giờ nói rằng:

        Đó là nỗi lực cuối cùng của bạn

         Cho tới khi bạn đã thành công  >>>

 

~ Mystic Lâm


#56
spiritfoxll

spiritfoxll

    Lính mới

  • Thành viên mới
  • 8 Bài viết

Bạn nào muốn giai bài tập Tin thì vào đây(chỉ dành cho pascal thôi nhé).Cảm ơn! 

CHo hỏi bài tìm dãy con đơn điệu với ạ.



#57
Master Kaiser

Master Kaiser

    Thượng sĩ

  • Thành viên
  • 265 Bài viết

CHo hỏi bài tìm dãy con đơn điệu với ạ.

Bạn có thể nói rõ hơn được không ?

Dãy đơn điệu tăng giảm dài ngắn như thế nào ... ?


Bài viết đã được chỉnh sửa nội dung bởi Master Kaiser: 22-05-2016 - 22:05

  • PUA yêu thích

               Master Kaiser

                                   Liên hệ facebook : https://www.facebook...uyenhoanganh238


#58
Master Kaiser

Master Kaiser

    Thượng sĩ

  • Thành viên
  • 265 Bài viết


CHo hỏi bài tìm dãy con đơn điệu với ạ.

Đây là bài làm dãy con đơn điệu tăng dài nhất được lấy dữ liệu từ file Day.INP :

PROGRAM Day_con_don_dieu_dai_nhat;

uses crt;

Const Max=5000;

Var a,L,T:array [1..Max] of integer;

    i,j,N,jmax:integer;

    g:text;

Procedure Nhap;

Var f:text;

Begin

assign(f,'Day.INP');reset(f);

N:=0;

while not eof (f) do

      begin

      N:=N+1;

      read(f,a[N]);

      end;

close(f);

End;

Procedure quyhoachdong;

Begin

L[1]:=1;T[1]:=0;a[N+1]:=32767;

for i:=2 to N+1 do

    begin

    jmax:=0;

    L[i]:=1;

    for j:=1 to i-1 do

        if (a[j]<=a[i])and (L[i]< L[j]+1) then

        begin

        L[i]:=L[j]+1;

        jmax:=j;

        end;

    T[i]:=jmax;

    end;

End;

Procedure Truyvet(m:integer);

Begin

m:=T[m];

if m=0 then exit;

truyvet(m);write(g,a[m],' ');

End;

Procedure ghi;

Begin

assign(g,'Day.OUT');rewrite(g);

quyhoachdong;truyvet(N+1);

close(g);

End;

BEGIN

Clrscr;

Nhap;Ghi;

END.


               Master Kaiser

                                   Liên hệ facebook : https://www.facebook...uyenhoanganh238


#59
spiritfoxll

spiritfoxll

    Lính mới

  • Thành viên mới
  • 8 Bài viết


Đây là bài làm dãy con đơn điệu tăng dài nhất được lấy dữ liệu từ file Day.INP :

PROGRAM Day_con_don_dieu_dai_nhat;

uses crt;

Const Max=5000;

Var a,L,T:array [1..Max] of integer;

    i,j,N,jmax:integer;

    g:text;

Procedure Nhap;

Var f:text;

Begin

assign(f,'Day.INP');reset(f);

N:=0;

while not eof (f) do

      begin

      N:=N+1;

      read(f,a[N]);

      end;

close(f);

End;

Procedure quyhoachdong;

Begin

L[1]:=1;T[1]:=0;a[N+1]:=32767;

for i:=2 to N+1 do

    begin

    jmax:=0;

    L[i]:=1;

    for j:=1 to i-1 do

        if (a[j]<=a[i])and (L[i]< L[j]+1) then

        begin

        L[i]:=L[j]+1;

        jmax:=j;

        end;

    T[i]:=jmax;

    end;

End;

Procedure Truyvet(m:integer);

Begin

m:=T[m];

if m=0 then exit;

truyvet(m);write(g,a[m],' ');

End;

Procedure ghi;

Begin

assign(g,'Day.OUT');rewrite(g);

quyhoachdong;truyvet(N+1);

close(g);

End;

BEGIN

Clrscr;

Nhap;Ghi;

End.

 

Làm theo kiểu file được không ạ.



#60
spiritfoxll

spiritfoxll

    Lính mới

  • Thành viên mới
  • 8 Bài viết

CHo hỏi bài tìm dãy con đơn điệu với ạ.

bài 1 :cho hỏi bài tìm số hoàn hảo cho biết có bao nhiêu số hoàn hảo và in ra các số đó. ( làm theo file được không ạ).

bài 2 : In ra tất cả dãy con có trong dãy . 

bài 3 : Nén xâu.

Bài 4: Giải nén xâu.

Bài 5: Dãy fibonaccy.

Bài 6 : vd :            input                     output

                          3                                cb1

                          c1x2y3z                      1cd7hdcbae  

                          1cd7hdcbae               c1x2y3z

Bài 7 Tập con

             Input A = { 1, 9, 4, 5, 9 ,5, 8,9} 

             Output B = {1, 4, 5, 8, 9}

Bài 8 Độ cao dãy số

  Input  5

            247   5   32000   332   27

  Output 

            13   5   5   10   9

Bài 9 Xâu tương đương

Bài 10 Tìm UCLN

Bài 11 Tìm BCNN

Bài 12 Dãy con tăng 

 Vd Input    :  1    2    3   0   5    4    8    6    11

 

      Out put   : 6

                     1    2    3    5    8    11

Please Mấy bài có thể làm file thì làm theo file được không a.






0 người đang xem chủ đề

0 thành viên, 0 khách, 0 thành viên ẩn danh