Bài tập  /  Bài đang cần trả lời

Hãy viết một chương trình Pascal Để giải quyết bài toán sau đây

Hãy viết một chương trình Pascal Để giải quyết bài toán sau đây: Cho một danh sách gồm các số nguyên. Hãy viết chương trình để tìm và in ra giá trị lớn thứ hai trong danh sách đó. Nếu không có giá trị lớn thứ hai, in ra thông báo "Không tìm thấy giá trị lớn thứ hai". Lưu ý: Độ dài của danh sách được nhập từ bàn phím, các số nguyên trong danh sách cách nhau bằng dấu cách
 

Ví dụ: Input: 10 20 30 40 50 Output: 40

Input: 5 5 5 5 5 Output: Không tìm thấy giá trị lớn thứ hai.

1 trả lời
Hỏi chi tiết
71
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Chương trình Pascal để giải quyết bài toán trên như sau:

```pascal
program TimGiaTriLonThuHai;
var
n, i, max1, max2, num: integer;
begin
write('Nhap so luong phan tu: ');
readln(n);

write('Nhap danh sach: ');
read(max1);
max2 := max1;

for i := 2 to n do
begin
read(num);

if num > max1 then
begin
max2 := max1;
max1 := num;
end
else if (num > max2) and (num < max1) then
max2 := num;
end;

if max2 = max1 then
writeln('Khong tim thay gia tri lon thu hai.')
else
writeln('Gia tri lon thu hai la: ', max2);

readln;
end.
```

Khi chạy chương trình, người dùng sẽ được yêu cầu nhập số lượng phần tử trong danh sách và sau đó nhập từng phần tử của danh sách. Chương trình sẽ tìm và in ra giá trị lớn thứ hai trong danh sách hoặc thông báo "Không tìm thấy giá trị lớn thứ hai" nếu không có giá trị lớn thứ hai.
0
0
NoName
19/08/2023 12:54:41
program FindSecondLargest;

var
  n, num, largest, secondLargest: Integer;
  
begin
  writeln('Nhap danh sach cac so nguyen (cach nhau bang dau cach): ');
  
  // Đọc độ dài danh sách
  readln(n);
  
  // Khởi tạo các giá trị ban đầu
  largest := Low(Integer);
  secondLargest := Low(Integer);
  
  // Đọc danh sách và tìm giá trị lớn thứ hai
  for var i := 1 to n do
  begin
    read(num);
    
    if num > largest then
    begin
      secondLargest := largest;
      largest := num;
    end
    else if (num > secondLargest) and (num < largest) then
      secondLargest := num;
  end;
  
  // In kết quả
  if sec then
    writeln('Khong tim thay gia tri lon thu hai.')
  else
    writeln('Gia tri lon thu hai: ', secondLargest);
end.
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Trắc nghiệm Lập trình Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư