một số dạng về xâu ký tự trong pascal

Đăng nhập diễn đàn

Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Apr 2012
    Bài viết
    38
    Thanks
    73
    Thanked: 9 in 9 posts

    một số dạng về xâu ký tự trong pascal

    dạo này bận quá hôm nay mới có dịp chia sẻ chút kiến thức cho mọi người. trình độ còn gà lắm em vẫn đang là học sinh. nên mong được các bác chỉ giáo. các bác đừng chém nhé



    uses crt;
    var stgoc,tg,chu,kthuc,batdau:string;
    i,dem,k,j,max,h:integer; B,C,E:array[1..50] of string;
    D:array[1..100] of integer;
    procedure nhap_xau(var stgoc:string); {chuong trinh con nhap xau ki tu goc}
    begin
    write('moi ban nhap xau ki tu: '); readln(stgoc);
    tg:=stgoc; {gan xau trung gian vao xau goc
    tu bay gio ta lam viec voi xau trung gian
    neu sau nay can den xau goc ta van con xau goc}
    writeln;
    end;


    procedure chuan_hoa_xau(var tg:string); {chuong trinh chuan hoa xau ki tu}
    begin
    tg:=' '+tg;
    for i:=1 to length(tg) do tg[i]:=upcase(tg[i]); {doi cac ki tu thanh chu hoa}
    for i:=1 to length(tg) do
    if ord(tg[i])in[65..90] then
    tg[i]:=chr(ord(tg[i])+32); {doi cac ki tu tu A den Z sang chu thuong}
    for i:=1 to length(tg) do {xoa cac dau cach thua giua cac tu}
    if (tg[i]=' ') and (tg[i+1]<>' ') then
    tg[i+1]:=upcase(tg[i+1]);
    while tg[1]=' ' do delete(tg,1,1); {xoa cac dau cach thua o dau chuoi ki tu}
    while tg[length(tg)]=' ' do delete(tg,length(tg),1);
    for i:=1 to length(tg) do {xoa cac dau cach thua o dau chuoi ki tu}
    while (tg[i]=' ') and (tg[i+1]=' ') do delete(tg,i,1);
    end;


    procedure tim_chu(tg:string); {chuong trinh con tim chu trong xau}
    var i:integer; chu:string;
    begin
    write('nhap chu ban muon kiem tra: '); readln(chu);
    for i:=1 to length(tg) do
    begin
    if pos(chu,tg)=1 then
    begin
    delete(tg,1,length(chu));
    dem:=dem+1;
    i:=1;
    end
    else if pos(chu,tg)>1 then
    begin
    dem:=dem+1;
    delete(tg,1,length(chu)+pos(chu,tg));
    i:=1;
    end;
    end;
    writeln('trong xau"',tg,'" co ',dem,' chu "',chu,'"');
    writeln;
    end;


    procedure kiem_tra_tu(tg:string);
    var chu:string;
    begin
    chuan_hoa_xau(tg);
    write('ban muon tim tu nao? '); readln(chu);
    dem:=0;
    chu:=' '+chu+' ';
    tg:=' '+tg+' ';
    while pos(chu,tg)<>0 do
    begin
    dem:=dem+1;
    delete(tg,1,length(chu)+pos(chu,tg)-1);
    end;
    if dem=0 then writeln('tu "',chu,'" khong co trong xau')
    else writeln('trong xau co ',dem,' tu "',chu,'"');
    writeln;
    end;


    procedure dem_tu(st:string); {chuong trinh con dem so lan xuat hien cua tu trong xau}
    var a:array[1..50] of string;
    begin
    tg:=st;
    chuan_hoa_xau(tg);
    tg:=tg+' '; dem:=0; k:=1;
    for i:=1 to length(st) do
    if (tg[i]<>' ') and (tg[i+1]=' ') then
    begin
    dem:=dem+1;
    a[dem]:=copy(tg,k,i-k+1);
    k:=i+2;
    end;
    writeln('so tu trong xau la ',dem);
    for i:=1 to dem do
    for k:=1 to dem do
    begin
    if (i<>k) and (a[i]=a[k]) then
    begin
    for h:=k to dem do a[h]:=a[h+1];
    dem:=dem-1;
    end;
    end;
    writeln('xau gom cac tu:');
    for i:=1 to dem do write(a[i],' ');
    writeln;
    end;


    procedure tim_tu_ket_thuc(st:string); {chuong trinh con tim cac tu ket thuc bang ...}
    var chu:string; a:array[1..50] of string;
    begin
    chuan_hoa_xau(tg);
    dem:=0; k:=1;
    tg:=' '+st+' ';
    write('tu ban muon tim ket thuc bang chu nao? '); readln(chu);
    for i:=1 to length(tg) do
    if (tg[i]=chu) and (tg[i+1]=' ') then
    begin
    dem:=dem+1; k:=i;
    while tg[k]<>' ' do k:=k-1;
    a[dem]:=copy(tg,k+1,i-k);
    end;
    if dem=0 then writeln('trong xau khong co tu ket thuc bang chu ',chu)
    else
    begin
    write('so tu trong xau ket thuc bang chu ',chu,' la ',dem);
    for i:=1 to dem do
    for k:=1 to dem do
    begin
    if (i<>k) and (a[i]=a[k]) then
    begin
    for h:=i to dem do a[h]:=a[h+1];
    dem:=dem-1;
    end;
    end;
    writeln(' gom cac tu:');
    for i:=1 to dem do write(a[i],'; ');
    writeln;
    end;
    end;


    procedure tim_tu_bat_dau(st:string); {chuong trinh con tim tu bat dau bang...}
    var a:array[1..50] of string;
    begin
    chuan_hoa_xau(tg);
    dem:=0; k:=2;
    tg:=' '+st+' ';
    write('tu ban muon tim bat dau bang chu nao? '); readln(chu);
    for i:=1 to length(tg) do
    if (tg[i]=chu) and (tg[i-1]=' ') then
    begin
    dem:=dem+1; k:=i;
    while tg[k]<>' ' do k:=k+1;
    a[dem]:=copy(tg,i,k-i);
    end;
    if dem=0 then writeln('trong xau khong co tu bat dau bang chu ',chu)
    else
    begin
    write('so tu trong xau bat dau bang chu ',chu,' la ',dem);
    for i:=1 to dem do
    for k:=1 to dem do
    begin
    if (i<>k) and (a[i]=a[k]) then
    begin
    for h:=i to dem do a[h]:=a[h+1];
    dem:=dem-1;
    end;
    end;
    writeln(' gom cac tu:');
    for i:=1 to dem do write(a[i],' ');
    writeln;
    end;
    end;


    procedure dem_ki_tu(st:string); {chuong trinh con dem cac ki tu trong xau}
    begin
    j:=1;
    for k:=1 to 255 do
    begin
    d[j]:=0;
    for i:=1 to length(st) do
    if st[i]=chr(k) then d[j]:=d[j]+1;
    if d[j]>0 then
    begin
    write('ki tu ',chr(k),' xuat hien ',d[j],' lan');
    e[j]:=chr(k);
    j:=j+1;
    readln;
    end;
    end;
    max:=d[1];
    for i:=1 to j do if max<d[i] then max:=d[i];
    writeln('cac ki tu xuat hien nhieu nhat la:');
    for i:=1 to j do if max=d[i] then
    writeln('ki tu "',e[i],'" xuat hien ',d[i],' lan');
    writeln;
    end;
    procedure xau_chu_hoa(st:string); {chuong trinh con chuyen cac ki tu thanh chu hoa}
    begin
    tg:=st;
    chuan_hoa_xau(tg);
    for i:=1 to length(tg) do tg[i]:=upcase(tg[i]);
    writeln('xau da viet hoa la:');
    writeln(tg);
    end;
    procedure xau_chu_thuong(st:string); {chuong trinh con chuyen cac ki tu thanh chu thuong}
    begin
    tg:=st;
    chuan_hoa_xau(tg);
    for i:=1 to length(tg) do tg[i]:=upcase(tg[i]);
    for i:=1 to length(tg) do
    if tg[i]<>' ' then
    tg[i]:=chr(ord(tg[i])+32);
    writeln('xau da viet thuong la:');
    writeln(tg);
    end;
    BEGIN {chuong trinh chinh}
    clrscr;
    nhap_xau(stgoc);
    chuan_hoa_xau(tg);
    writeln('xau da chuan hoa la: "',tg,'"');
    tim_chu(tg);
    kiem_tra_tu(tg);
    dem_tu(tg);
    tim_tu_bat_dau(tg);
    tim_tu_ket_thuc(tg);
    dem_ki_tu(tg);
    xau_chu_hoa(tg);
    xau_chu_thuong(tg);
    readln;
    END.

    Xem các chủ đề khác cùng chuyên mục VSNet:


  2. Những thành viên đã cảm ơn hanhalpha trong bài viết này:

    bacuongcomputer (08-06-2012)

  3. #2
    Ngày tham gia
    Aug 2012
    Bài viết
    34
    Thanks
    13
    Thanked: 8 in 5 posts

  4. #3
    Ngày tham gia
    Mar 2012
    Bài viết
    1,166
    Thanks
    387
    Thanked: 696 in 401 posts

Tag của Chủ đề này

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • 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
  •  

Textlink: thiet ke web,tai game dien thoai,nha dat thai nguyen,nhadatthainguyen ,ke toan tong hop ,tuyển sinh,tuoi tre ben tre, dien dan viec lam, tim viec nhanh

dịch vụ seo xu hướng seo 2014 Bảng tuần hoàn seo seo on page da là gì- domain authority công cụ kiểm tra backlink thuật toán google panda FPT Thái Nguyên ,FPT Thai Nguyen ,Internet FPT Thai Nguyen ,FPT Bắc Giang ,FPT Bắc Ninh ,FPT Lao Cai ,FPT Tuyen Quang ,FPT Hoa Binh ,FPT Cao Bằng