Bài 2 (2 điểm): Tìm kí tự Nhập vào từ bàn phím một xâu kí tự S chỉ gồm các chữ cái không quá 255 kí tự. Hãy viết chương trình in ra một kí tự có số lần xuất hiện nhiều nhất trong xâu S (có phân biệt kí...

ADS
thumb up 0
thumb down
Trả lời câu hỏi của vinh Bùi

Làm sao để có câu trả lời hay nhất?

  • Luôn có GIẢI THÍCH các bước giải
  • Không copy câu trả lời của Timi
  • Không sao chép trên mạng
  • Không spam câu trả lời để nhận điểm
  • Spam sẽ bị khóa tài khoản
ADS
CÂU TRẢ LỜI
avatar
Timi

02/04/2025

Trợ lý học tập AI - Câu trả lời này chỉ mang tính tham khảo
Để giải bài toán này bằng ngôn ngữ lập trình Pascal, bạn có thể sử dụng đoạn mã sau: ```pascal program TimKiTuXuatHienNhieuNhat; var S: string; i, maxCount: integer; maxChar: char; count: array[0..255] of integer; begin // Khởi tạo mảng đếm for i := 0 to 255 do count[i] := 0; // Nhập xâu kí tự từ bàn phím writeln('Nhập vào xâu kí tự S:'); readln(S); // Đếm số lần xuất hiện của từng kí tự for i := 1 to length(S) do count[ord(S[i])] := count[ord(S[i])] + 1; // Tìm kí tự có số lần xuất hiện nhiều nhất maxCount := 0; for i := 0 to 255 do begin if count[i] > maxCount then begin maxCount := count[i]; maxChar := chr(i); end; end; // In ra kí tự có số lần xuất hiện nhiều nhất writeln('Kí tự xuất hiện nhiều nhất là: ', maxChar); end. ``` ### Giải thích đoạn mã: 1. **Khai báo biến**: Chương trình khai báo các biến cần thiết, bao gồm xâu kí tự `S`, các biến đếm và mảng `count` để lưu số lần xuất hiện của từng kí tự. 2. **Nhập xâu kí tự**: Sử dụng `readln` để nhập xâu kí tự từ bàn phím. 3. **Đếm số lần xuất hiện**: Duyệt qua từng kí tự trong xâu `S` và tăng giá trị trong mảng `count` tương ứng với mã ASCII của kí tự đó. 4. **Tìm kí tự xuất hiện nhiều nhất**: Duyệt qua mảng `count` để tìm kí tự có số lần xuất hiện lớn nhất. 5. **In kết quả**: In ra kí tự có số lần xuất hiện nhiều nhất. Bạn có thể chạy đoạn mã này trong môi trường lập trình Pascal để kiểm tra kết quả.
Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
avatar
level icon
Mai Anh

02/04/2025

```pascal
program TimKiTuXuatHienNhieuNhat;

var
S: string;
i, maxCount: integer;
maxChar: char;
count: array[0..255] of integer;

begin
// Khởi tạo mảng đếm
for i := 0 to 255 do
count[i] := 0;

// Nhập xâu kí tự từ bàn phím
writeln('Nhập vào xâu kí tự S:');
readln(S);

// Đếm số lần xuất hiện của từng kí tự
for i := 1 to length(S) do
count[ord(S[i])] := count[ord(S[i])] + 1;

// Tìm kí tự có số lần xuất hiện nhiều nhất
maxCount := 0;
for i := 0 to 255 do
begin
if count[i] > maxCount then
begin
maxCount := count[i];
maxChar := chr(i);
end;
end;

// In ra kí tự có số lần xuất hiện nhiều nhất
writeln('Kí tự xuất hiện nhiều nhất là: ', maxChar);
end.
```
 

Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
ADS

Nếu bạn muốn hỏi bài tập

Các câu hỏi của bạn luôn được giải đáp dưới 10 phút

Ảnh ads

CÂU HỎI LIÊN QUAN

logo footer
FQA.vn Nền tảng kết nối cộng đồng hỗ trợ giải bài tập học sinh trong khối K12. Sản phẩm được phát triển bởi CÔNG TY TNHH CÔNG NGHỆ GIA ĐÌNH (FTECH CO., LTD)
Điện thoại: 1900636019 Email: info@fqa.vn
Location Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.
Tải ứng dụng FQA
app store ch play
Người chịu trách nhiệm quản lý nội dung: Nguyễn Tuấn Quang Giấy phép thiết lập MXH số 07/GP-BTTTT do Bộ Thông tin và Truyền thông cấp ngày 05/01/2024
Copyright © 2023 fqa.vn All Rights Reserved
gift-box
survey
survey
Đặt câu hỏi