Viết chương trình thực hiện các yêu cầu sau: Cho số nguyên dương N (N≤50) và dãy A gồm N số nguyên A1, A2,… AN, mỗi số không vượt quá 500. a. Nhập giá trị cho dãy A từ bàn phím. b. Tính tổng các phần tử của dãy. c. Tìm giá trị và chỉ số phần tử lớn nhất, nếu có nhiều phần tử cùng lớn nhất tìm chỉ số lớn nhất. d. Đếm có bao nhiêu phần tử cùng lớn nhất. e. In chỉ số các phần tử = 0 Giúp nhanh cho mình zới mọi người huhu !!
2 câu trả lời
Var a:array[1..100] of integer;
j,n,i,max,m,S:integer;
Begin
repeat
write('Nhap so N: ');readln(n);
until n<=50;
/cau a/
For i:=1 to n do
Begin
repeat
write('Phan tu thu ' ,i,' :);readln(A[i]);
until A[i]<=500;
End;
/cau b/
For i:=1 to n do S:=S+A[i];
Writeln('Tong cua day',S);
/cau c va cau d/
max :=A[1];
m:=1;
For i:=2 to n do
If A[i]>max then begin
max:=A[i];
m:=i;
End;
writeln('Gia tri lon nhat cua day',max);
writeln('Chi so lon nhat cua day',m);
j:=0;
For i:=1 to n do
If A[i]= max then
j:=j+1;
writeln('so phan tu cung lon nhat',j);
/cau e/
Writeln('Chi so cac phan tu =0');
For i:=1 to n do
If A[i]=0 then writeln(i);
readln;
end.
program Hotrotinhoc;
var d,i,n,t,max,min: integer;
begin
write(n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
t:=t+a[i];
end;
max:=0; min:=32000;
for i:=1 to n do
if a[i]>max then max:=a[i];
for i:=1 to n do
if max=a[i] then inc(d);
if d>1 then
begin
for i:=1 to n do
if min>a[i] then min:=a[i];
write(min);
end;
for i:=1 to n do if a[i]=0 then write(i,' ');
readln
end.