Nhập sâu S đếm số lần lượt số lần xuất hiện mỗi kí tự trong sâu S ( không phân biệt chữ,số) vd : S = MADAM M : 2 A : 2 D : 1 G

By Valerie

Nhập sâu S đếm số lần lượt số lần xuất hiện mỗi kí tự trong sâu S ( không phân biệt chữ,số)
vd : S = MADAM
M : 2
A : 2
D : 1
Giải bằng ngôn ngữ pascal chứ không phải bằng c++ ạ!!!
Cần gấp ạ !

0 bình luận về “Nhập sâu S đếm số lần lượt số lần xuất hiện mỗi kí tự trong sâu S ( không phân biệt chữ,số) vd : S = MADAM M : 2 A : 2 D : 1 G”

  1. 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    uses crt;

    var s:string[30];

    ch,x:char;

    i:byte;

    dem:array[‘A’..’Z’]of byte;

    BEGIN

    clrscr;

    write(‘Nhap vao xau s=’);

    readln(s);

    for ch:=’A’ to ‘Z’ do dem[ch]:=0;

    for i:=1 to length(s) do

    begin

    x:=upcase(s[i]);

    if (x>=’A’) and (x<='Z')

    then

    dem[x]:=dem[x]+1;

    end;

    for ch:=’A’ to ‘Z’ do

    if dem[ch]<>0 then

    writeln(‘So luong ki tu’,ch,’la’,dem[ch]);

    readln;

    Trả lời
  2. Chương trình:

    uses crt; {thu vien dung cho viec xoa man hinh}

    var Dem:array[‘A’..‘Z’] of integer;

    ____S: String;

    ____ch: char;

    ____i: integer;

    begin

    ____clrscr; {lenh xoa man hinh}

    ____write(‘Nhap xau S: ’);

    ____readln(S);

    _for ch:= ‘A’ to ‘Z’ do

    _______Dem[ch]:= 0;

    _ for i:=1 to length(S) do

    begin

    if S[i] in ([‘a’..‘z’]) then {co the thay bang if (S[i] >= ‘a’) and (S[i] <= ‘z’) then}

    begin

    _________ch:=upcase(S[i]);

    _________Dem[ch]:= Dem[ch]+1;

    end;

    end;

    {for ch:= ‘A’ to ‘Z’ do

    write(‘So lan xuat hien cua ’,ch, ‘ trong xau la ’, Dem[ch]);}

    ____writeln(‘So lan xuat hien cua cac chu cai trong xau la: ‘);

    for ch:= ‘A’ to ‘Z’ do

    _______write(ch:3);

    ____writeln;

    for ch:= ‘A’ to ‘Z’ do

    _______write(Dem[ch]:3);

    ____readln

    end.

    Trả lời

Viết một bình luận