K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

3 giờ trước (12:47)

    Olm chào em, em cần làm gì với dãy dữ liệu này? Khi đăng câu hỏi trên Olm Em cần lưu ý, ghi rõ yêu cầu câu hỏi để nhận được sự trợ giúp tốt nhất cho tài khoản Olm Vip. 

18 tháng 5

program XoaChuSoLonNhat;

var
  s: string;
  i, j, k, vitri: integer;
  soLonNhat: longint;

function ChuanHoa(s: string): string;
var
  i, j: integer;
begin
  for i := 1 to Length(s) do
    if s[i] = '0' then
      Delete(s, i, 1);
  for i := 1 to Length(s) do
    if s[i] = '-' then
      Delete(s, i, 1);
  if s[1] = '+' then
    Delete(s, 1, 1);
end;

function TimViTriLonNhat(s: string): integer;
var
  i, j: integer;
begin
  vitri := 1;
  for i := 2 to Length(s) do
    if s[i] > s[vitri] then
      vitri := i;
end;

function XoaChuSo(s: string; vitri: integer): string;
var
  i: integer;
begin
  Delete(s, vitri, 1);
  for i := vitri to Length(s) do
    Inc(s[i]);
end;

function ChuyenSangSo(s: string): longint;
var
  i, so: integer;
begin
  so := 0;
  for i := 1 to Length(s) do
    so := so * 10 + Ord(s[i]) - Ord('0');
  if s[1] = '-' then
    so := -so;
end;

begin
  Writeln('Nhap xau: ');
  Readln(s);
  s := ChuanHoa(s);

  vitri := TimViTriLonNhat(s);
  soLonNhat := ChuyenSangSo(XoaChuSo(s, vitri));

  Writeln('So lon nhat sau khi xoa 1 chu so: ', soLonNhat);
end

D
datcoder
CTVVIP
14 tháng 5

Giải giúp em với ạ :<< <PASCAL> Số xuất hiện nhiều nhất Số trong xâu được hiểu là tập hợp các ký tự số đứng liền nhau trong xâu. Ví dụ: S "Kỳ thi HSG lop 6,7,8 nam học 2021-2022", có 5 số xuất hiện trong xâu là: 6, 7, 8, 2021, 2022. RENUM.PAS Yêu cầu: Hãy nhập vào từ bàn phím xâu ký tự S bất kỳ (0 < Length(S) <256), sau đó in ra sô xuất hiện nhiều nhất trong xâu. Nếu có nhiều số có cùng số lần xuất hiện và...
Đọc tiếp

Giải giúp em với ạ :<<

<PASCAL>

Số xuất hiện nhiều nhất
Số trong xâu được hiểu là tập hợp các ký tự số đứng liền nhau trong xâu. Ví dụ: S "Kỳ thi HSG lop 6,7,8 nam học 2021-2022", có 5 số xuất hiện trong xâu là: 6, 7, 8, 2021, 2022.
RENUM.PAS
Yêu cầu: Hãy nhập vào từ bàn phím xâu ký tự S bất kỳ (0 < Length(S) <256), sau đó in ra sô xuất hiện nhiều nhất trong xâu. Nếu có nhiều số có cùng số lần xuất hiện và nhiều nhất thì in ra số nhỏ nhất, nếu trong xâu không có số nào thì in ra số 0. Biết rằng, các số xuất hiện trong xâu là những số nguyên dương có không quá 6 chữ số.
Vi dụ:
Nhập vào: S='thu4ngay2thang2nam2022
In ra:

Giải thích: Có 3 số khác nhau xuất hiện trong
xâu là: 2, 4, 2022. Trong đó số 2 xuất hiện nhiều nhất với số lần là 2.
Sab12cd12bb12b9b9c9n6n3n3'
Giải thích: Có 3 số khác nhau xuất hiện trong xâu là: 3, 9, 12
9
Trong đó có 2 số xuất hiện nhiều nhất là 9 và 12, có cùng số lần xuất hiện là 3. Số 9 nhỏ Lơn 12 nên ta in ra số 9.

1
15 tháng 4

Bạn thử code này nhé
program RENUM;

var
    S: string;
    frequency: array[0..9] of integer; // Mảng đếm số lần xuất hiện của các số từ 0 đến 9
    maxFreq, maxNum, i, num: integer;

begin
    // Khởi tạo tất cả các phần tử trong mảng đếm về 0
    for i := 0 to 9 do
        frequency[i] := 0;

    // Nhập xâu ký tự S từ bàn phím
    writeln('Nhap vao xau ky tu S: ');
    readln(S);

    // Đếm số lần xuất hiện của các số từ 0 đến 9 trong xâu S
    for i := 1 to length(S) do
    begin
        if (S[i] >= '0') and (S[i] <= '9') then
        begin
            num := ord(S[i]) - ord('0');
            frequency[num] := frequency[num] + 1;
        end;
    end;

    // Tìm số có số lần xuất hiện nhiều nhất và nhỏ nhất
    maxFreq := 0;
    maxNum := 0;
    for i := 0 to 9 do
    begin
        if frequency[i] > maxFreq then
        begin
            maxFreq := frequency[i];
            maxNum := i;
        end;
    end;

    // In ra số xuất hiện nhiều nhất
    if maxFreq > 0 then
        writeln('So xuat hien nhieu nhat la: ', maxNum)
    else
        writeln('Trong xau khong co so nao.');

    readln;
end.