Tin học Tây Sơn

Xóa số.......

Go down

Xóa số.......

Bài gửi by Admin on Thu Nov 15, 2018 4:15 pm

Cho một xâu S có chiều dài N (1<=n<=100) chỉ gồm các chứ số từ 1 đến 9 và một số nguyên dương k (k<=N). Hãy viết chương trình xóa bớt các kí tự trong xâu S để còn lại một xâu gồm k chữ số biểu thị số lớn nhất có k chữ số thu được theo cách này.
Dữ liệu vào là tệp DAYCON.INP có cấu trúc gồm hai dòng
+ dòng thứ nhất chứa xâu S.
+ dòng thứ hai chứa số tự nhiên k.
Dữ liệu ra là tệp DAYCON.OUT là xâu có chiều dài k cần tìm
Ví dụ:
Code:
program xoaso;
uses crt;
var fi,fo:text;
i,k,x:longint;
s:string;

procedure nhap;
begin
assign(fi,'daycon.inp');
reset(fi);
readln(fi,s);
read(fi,k);
close(fi);
end;

procedure tim;
begin
assign(fo,'daycon.out');
rewrite(fo);
x:=length(s)-k;
while (x>=0) do
   begin
   if s[i]<s[i+1] then
      begin
      delete(s,i,1);
      dec(x);
      i:=1;
      end
   else inc(i);
end;
while x>0 do
begin
delete(s,1,1);
x:=x-1;
end;
write(fo,s);
close(fo);
end;

BEGIN
clrscr;
nhap;
tim;
readln;
END.


DAYCON.INP
DAYCON.OUT
135792468
3
968


Được sửa bởi Admin ngày Sat Nov 17, 2018 4:19 pm; sửa lần 2.
avatar
Admin
Admin
Admin

Posts : 658
Reputation : -39
Join date : 16/11/2015
Age : 29

Xem lý lịch thành viên http://tinhocts.forumvi.com

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by nguyen77 on Fri Nov 16, 2018 6:56 pm

Code:
program bt;
uses crt;
var i,n,k,n1:longint;
st:string;
fo,fi:text;
begin
clrscr;
assign(fi,'daycon.inp');
reset(fi);
readln(fi,n1,k);
close(fi);
assign(fo,'daycon.out');
rewrite(fo);
str(n1,st);
i:=1;
n:=length(st)-k;
while (i<length(st)) and (n>0)do
begin
if st[i]<st[i+1] then
        begin
        delete(st,i,1);
        n:=n-1;
        end
else
inc(i);
end;
while n>0 do
        begin
        delete(st,1,1);
        n:=n-1;
        end;
write(fo,st);
close(fo);
readln;
end.
avatar
nguyen77
Năng động
Năng động

Posts : 68
Reputation : -22
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by mainhatthong2004 on Fri Nov 16, 2018 9:33 pm

thong:
program bai8;
uses crt;
var s:string;
fi,fo:text;
i,k,t,vt:integer;
max:char;
//--------------------------------------------
function gd(st:string):boolean;
var j:integer;
begin
gd:=true;
for j:=1 to length(st) do
if s[j]<s[j+1] then
begin
gd:=false;
exit;
end;
end;
//-------------------------------
begin
clrscr;
assign(fi,'DAYCON.inp');
reset(fi);
readln(fi,s,k);
assign(fo,'DAYCON.out');
rewrite(fo);
k:=length(s)-k;
if gd(s) then
begin
delete(s,length(s)-k+1,k);
write(fo,s);
close(fi);
close(fo);
readln;
exit;
end;
max:=s[1];
for i:=2 to length(s) do
if s[i]>max then
begin
max:=s[i];
vt:=i;
end;
i:=1;
while k>0 do
begin
if s[i]<s[i+1] then
begin
delete(s,i,1); dec(k); i:=1; end else
inc(i);
end;
write(fo,s);
close(fi);
close(fo);
readln;
end.




Được sửa bởi mainhatthong2004 ngày Sat Nov 17, 2018 3:01 pm; sửa lần 3.
avatar
mainhatthong2004
Teen cá tính
Teen cá tính

Posts : 76
Reputation : -25
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by Nguyễn Ngọc Thiên on Sat Nov 17, 2018 11:50 am

[code]
program xoaso;
uses crt;
var i,n,k,n1:longint;
st:string;
fo,fi:text;
begin
clrscr;
assign(fi,'daycon.inp');
reset(fi);
readln(fi,n1,k);
close(fi);
assign(fo,'daycon.out');
rewrite(fo);
str(n1,st);
i:=1;
n:=length(st)-k;
while (i<length(st)) and (n>0)do
begin
if st[i]<st[i+1] then
       begin
       delete(st,i,1);
       n:=n-1;
       end
else
inc(i);
end;
while n>0 do
       begin
       delete(st,1,1);
       n:=n-1;
       end;
write(fo,st);
close(fo);
readln;
end.[code]
Question Question Question Question Question cyclops cyclops cyclops cyclops cyclops pig pig
silent silent
silent silent
silent
silent silent
bounce bounce bounce
affraid affraid affraid


Được sửa bởi nguyenngocthien ngày Sat Nov 17, 2018 4:33 pm; sửa lần 3.
avatar
Nguyễn Ngọc Thiên
Teen Chính hiệu
Teen Chính hiệu

Posts : 17
Reputation : -4
Join date : 06/11/2018
Age : 13
Location : Bình tường, Tây Sơn, Bình Định

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by lohan on Sat Nov 17, 2018 11:59 am

Code:
program XOASO;
Uses crt;
Var i,n,k,A:longint;
S:string;
fo,fi:text;

Begin
  Clrscr;
  Assign(fi,'DAYCON.INP');
  Reset(fi);
  Readln(fi,A,k);
  CLose(fi);

  Assign(fo,'DAYCON.OUT');
  Rewrite(fo);
  Str(A,S);
  i:=1;
  n:=length(S)-k;

While (i<length(S)) and (n>0)do
 Begin
 If S[i]<S[i+1] then
        Begin
        delete(S,i,1);
        n:=n-1;
        End
  Else i:=i+1;
 End;

While n>0 do
 Begin
  delete(S,1,1);
  n:=n-1;
 End;
Write(fo,S);
 Close(fo);
 Readln;
End.


avatar
lohan
Teen Chính hiệu
Teen Chính hiệu

Posts : 20
Reputation : -3
Join date : 06/11/2018
Age : 14

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by tonguyengiahan237 on Sat Nov 17, 2018 12:18 pm

Code:
Program Xoa_so;
Uses crt;
Var N,k,T:longint;
    S:string;
    fo,fi:text;

Procedure Docdl(Var k,T:longint;Var fi:text);
Begin
  Assign(fi,'DAYCON.INP');
  Reset(fi);
  Readln(fi,T,k);
  CLose(fi);
End;
Procedure Xoa(Var N,k,T:longint;Var S:string;Var fo:text);
Var i:longint;
Begin
  Assign(fo,'DAYCON.OUT');
  Rewrite(fo);
  Str(T,S);
  i:=1;
  N:=length(S)-k;
While (i<length(S)) and (N>0) do
 Begin
 If S[i]<S[i+1] then
  Begin
  delete(S,i,1);
  N:=N-1;
  End
  Else i:=i+1;
 End;
While N>0 do
 Begin
  delete(S,1,1);
  N:=N-1;
 End;
Write(fo,S);
 Close(fo);
End;

BEGIN
CLRSCR;
Docdl(k,T,fi);
Xoa(N,k,T,S,fo);
READLN;
END.
avatar
tonguyengiahan237
Teen Chính hiệu
Teen Chính hiệu

Posts : 28
Reputation : -2
Join date : 06/11/2018
Age : 14
Location : TT Phú Phong Huyện Tây Sơn Tỉnh Bình Định

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by Nguyễn Văn Biên on Sat Nov 17, 2018 12:35 pm

CODE:
program DAYCON;
var fi,fo:text;
i,n,n1,k:longint;
s:string;
begin
assign(fi,'DAYCON.INP'); reset(fi);
readln(fi,n1,k); close(fi);
str(n1,s); i:=1; n:=length(s)-k;
while (i<length(s)) and (n>0) do
if s[i]<s[i+1] then
begin delete(s,i,1); dec(n) end
else inc(i);
while n>0 do
begin delete(s,1,1); dec(n) end;
assign(fo,'DAYCON.OUT'); rewrite(fo);
write(fo,s); close(fo)
end.
avatar
Nguyễn Văn Biên
S-mod
S-mod

Posts : 186
Reputation : 21
Join date : 18/06/2018
Age : 14
Location : ?

Xem lý lịch thành viên https://bien2004official.blogspot.com

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by quantran on Sat Nov 17, 2018 1:51 pm

code cua em:
program bt;
uses crt;
var i,so,k,n:longint;
st:string;
fo,fi:text;
begin
clrscr;
assign(fi,'DAYCON.INP');
reset(fi);
readln(fi,N,k);
close(fi);
assign(fo,'DAYCON.OUT');
rewrite(fo);
str(n,st);
i:=1;
so:=length(st)-k;
while (i<length(st)) and (so>0)do
begin
if st[i]<st[i+1] then
begin
delete(st,i,1);
so:=so-1;
end
else
inc(i);
end;
while so>0 do
begin
delete(st,1,1);
so:=so-1;
end;
write(fo,st);
close(fo);
readln;
end.
avatar
quantran
Teen cá tính
Teen cá tính

Posts : 73
Reputation : -20
Join date : 18/06/2018
Age : 14
Location : Binh Thuan-Tay Son-Binh Dinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by Tạ Thúy Phượng on Sat Nov 17, 2018 1:58 pm

code:
program bt;
uses crt;
var i,n,k,n1:longint;
st:string;
fo,fi:text;
begin
clrscr;
assign(fi,'DAYCON.INP');
reset(fi);
readln(fi,n1,k);
close(fi);
assign(fo,'DAYCON.OUT');
rewrite(fo);
str(n1,st);
i:=1;
n:=length(st)-k;
while (i<length(st)) and (n>0)do
begin
if st[i]<st[i+1] then
begin
delete(st,i,1);
n:=n-1;
end
else
inc(i);
end;
while n>0 do
begin
delete(st,1,1);
n:=n-1;
end;
write(fo,st);
close(fo);
readln;
end.
avatar
Tạ Thúy Phượng
Năng động
Năng động

Posts : 63
Reputation : -19
Join date : 18/06/2018
Location : Binh Thuan-Tay Son-Binh Dinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by truongquocbao2004 on Sat Nov 17, 2018 2:00 pm

Code:
program xoaso;
uses crt;
var i,x,k,n:longint;
    s:string;
    fo,fi:text;

procedure doc;
begin
assign(fi,'daycon.inp');
reset(fi);
readln(fi,n,k);
close(fi);
end;

procedure xuly;
begin
assign(fo,'daycon.out');
rewrite(fo);
str(n,s);
i:=1;
x:=length(s)-k;
while (i<length(s)) and (x>0)do
if s[i]<s[i+1] then begin
                        delete(s,i,1);
                        x:=x-1;
                    end
                        else inc(i);
while x>0 do begin
                delete(s,1,1);
                x:=x-1;
            end;
write(fo,s);
close(fo);
end;

begin
clrscr;
doc;
xuly;
readln;
end.
avatar
truongquocbao2004
Nhiệt tình
Nhiệt tình

Posts : 40
Reputation : -10
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by Đinh Ngọc Mạnh on Sat Nov 17, 2018 2:04 pm

Code:
var
fi,fo:text;
k,i,dem:longint;
s:string;
begin
assign(fi,'daycon.inp'); reset(fi);
readln(fi,s,k); close(fi);
assign(fo,'daycon.out'); rewrite(fo);
k:=length(s)-k;
while k>0 do
begin
if i=length(s) then
begin
inc(dem);
i:=1;
end;
if dem=2 then
begin
delete(s,length(s)-k+1,k);
break
end;
if s[i]<s[i+1] then
begin
delete(s,i,1);
dec(k);
end else inc(i);
end;
write(fo,s); close(fo)
end.
avatar
Đinh Ngọc Mạnh
Teen cá tính
Teen cá tính

Posts : 71
Reputation : -30
Join date : 18/06/2018
Age : 14
Location : Ở nhà

Xem lý lịch thành viên http://tinhocts.forumvi.com

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by Khách viếng thăm on Sat Nov 17, 2018 3:12 pm

code:
program xoaso;

uses crt;
var fi,fo:text;
i,k,x:longint;
s:string;


procedure nhap;
begin
assign(fi,'daycon.inp');
reset(fi);
readln(fi,s);
read(fi,k);
close(fi);
end;

procedure tim;
begin
assign(fo,'daycon.out');
rewrite(fo);


x:=length(s)-k;
while (x>=0) do
begin
if s[i]<s[i+1] then
begin
delete(s,i,1);
dec(x);
i:=1;
end
else inc(i);
end;

while x>0 do
begin
delete(s,1,1);
x:=x-1;
end;


write(fo,s);
close(fo);
end;

BEGIN
clrscr;
nhap;
tim;
readln;
END.


Khách viếng thăm
Khách viếng thăm


Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by huynhtanluc on Sat Nov 17, 2018 3:54 pm

Code:
Program bt;
uses crt;
var i,n,k:longint;
    s:string;t1,t2:text;

        Procedure doc;
        var i:longint;
        begin
        assign(t1,'daycon.inp');
        reset(t1);
        readln(t1,s,k);
        close(t1);
        end;

        Procedure inra;
        begin
        assign(t2,'daycon.out');
        rewrite(t2);
        n:=length(s)-k;
        while n>0 do
        begin
        if s[i]<s[i+1] then
        begin
        delete(s,i,1);
        dec(n);
        i:=1;
        end else inc(i);
        end;
        while n>0 do
        begin
        delete(s,1,1);
        dec(n);
        end;
        writeln(t2,s);
        close(t2);
        end;

Begin
        clrscr;
        doc;
        inra;
        readln;
End.


Được sửa bởi huynhtanluc ngày Sat Nov 17, 2018 4:35 pm; sửa lần 1.
avatar
huynhtanluc
Năng động
Năng động

Posts : 61
Reputation : -14
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by quantran on Sat Nov 17, 2018 4:20 pm

code sau chinh doi:
program bt;
var
i,so,k,n:longint;
st:string;
fo,fi:text;
//----------------------------------
begin
assign(fi,'daycon.INP');
reset(fi);
readln(fi,n,k);
close(fi);
assign(fo,'DAYCON.OUT');
rewrite(fo);
str(n,st);
i:=1;
so:=length(st)-k;
while (so>0) do
begin
if st[i]<st[i+1] then
begin
delete(st,i,1);
so:=so-1;
i:=1;
end
else
inc(i);
if i=length(st) then
delete(st,i,1);
end;
while so>0 do
begin
delete(st,1,1);
so:=so-1;
end;
write(fo,st);
close(fo);
readln;
end.
avatar
quantran
Teen cá tính
Teen cá tính

Posts : 73
Reputation : -20
Join date : 18/06/2018
Age : 14
Location : Binh Thuan-Tay Son-Binh Dinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Xóa số.......

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết