Yahoo Hỏi & Đáp sẽ ngừng hoạt động vào ngày 4 tháng 5 năm 2021 (Giờ Miền Đông nước Mỹ) và từ nay, trang web Yahoo Hỏi & Đáp sẽ chỉ ở chế độ đọc. Các thuộc tính hoặc dịch vụ khác của Yahoo hay tài khoản Yahoo của bạn sẽ không có gì thay đổi. Bạn có thể tìm thêm thông tin về việc Yahoo Hỏi & Đáp ngừng hoạt động cũng như cách tải về dữ liệu của bạn trên trang trợ giúp này.
Giúp t pascal: Viết chwong trình: nhập n, a1, a2,..,an & xuất ra phần tử lớn nhất thứ 2 của dãy.?
2 Câu trả lời
- 8 năm trướcCâu trả lời yêu thích
var a:array[1..100] of integer;
i,max,max1,n:integer;
begin
write('n= ');readln(n);
for i:=1 to n do begin
write('a[',i,']= ');readln(a[i]);end;
max:=a[1];
for i:=2 to n do
if a[i]>max then max:=a[i];
max1:=a[1];
for i:=1 to n do
if (a[i]>max1) and (a[i]<max) then max1:=a[i];
write('phan tu lon thu 2 la: ',max1);
readln
end.
(Các) Nguồn: mình chạy thử rùi, đúng 100%! hihi! - 8 năm trước
Sao lại "xuất ra phần tử lớn nhất thứ 2 của dãy.?" mà phải là "xuất ra phần tử lớn thứ 2 của dãy.?". Làm như bạn ? góp ý đầu tiên ấy chỉ gần đúng thôi. Nếu trong mảng có 1 phần tử thì làm gì có phần tử thứ 2 đúng không bạn hoặc với n>1 nhưng nếu tất cả các phần tử trong mảng có giá trị đều bằng nhau thì cũng làm gì có phần tử lớn thứ 2 đúng không bạn. Vậy chương trình của bạn ? cần thêm câu lệnh trước khi in ra phần tử lớn thứ 2 là: if max<>max1 then writeln(" Phan tu lon thu 2 trong mang la:', max1) else writeln("Khong co phan tu lon thu 2 trong mảng");