Viết chương trình nhập vào một dãy n số nguyên khác nhau từ bàn phím. Tìm min, max của dãy và số lần xuất hiện của min, max đó.
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.
program tinh_toan_day_so;
const
MAX = 1000;
var
a: array[1..MAX] of integer;
n, i, tong, tong_duong, tong_am, tong_chan, tong_le, max, min, temp: integer;
begin
// Nhập dãy số và giá trị từng phần tử của dãy
write('Nhập số phần tử của dãy: ');
readln(n);
for i := 1 to n do
begin
write('Nhập phần tử thứ ', i, ': ');
readln(a[i]);
end;
// Xuất giá trị của dãy vừa nhập
writeln('Dãy số vừa nhập là: ');
for i := 1 to n do
begin
write(a[i], ' ');
end;
writeln();
// Tính tổng các phần tử của dãy
tong := 0;
for i := 1 to n do
begin
tong := tong + a[i];
end;
writeln('Tổng các phần tử của dãy là: ', tong);
// Tìm giá trị Max, Min của dãy
max := a[1];
min := a[1];
for i := 2 to n do
begin
if a[i] > max then
begin
max := a[i];
end;
if a[i] < min then
begin
min := a[i];
end;
end;
writeln('Phần tử lớn nhất của dãy là: ', max);
writeln('Phần tử nhỏ nhất của dãy là: ', min);
// Tính tổng các phần tử dương, âm, chẵn, lẻ của dãy
tong_duong := 0;
tong_am := 0;
tong_chan := 0;
tong_le := 0;
for i := 1 to n do
begin
if a[i] > 0 then
begin
tong_duong := tong_duong + a[i];
end
else
begin
tong_am := tong_am + a[i];
end;
if a[i] mod 2 = 0 then
begin
tong_chan := tong_chan + a[i];
end
else
begin
tong_le := tong_le + a[i];
end;
end;
writeln('Tổng các phần tử dương của dãy là: ', tong_duong);
writeln('Tổng các phần tử âm của dãy là: ', tong_am);
writeln('Tổng các phần tử chẵn của dãy là: ', tong_chan);
writeln('Tổng các phần tử lẻ của dãy là: ', tong_le);
// Sắp xếp các phần tử của dãy theo thứ tự giảm dần
for i := 1 to n-1 do
begin
for j := i+1 to n do
begin
if a[i] < a[j] then
begin
temp := a[i];
a[i] := a[j];
a[j] := temp;
end;
end;
end;
writeln('Dãy số sau khi được sắp xếp giảm dần là: ');
for i := 1 to n do
begin
write(a[i], ' ');
end;
writeln();
// Sắp xếp các phần tử của dãy theo thứ tự tăng dần
for i := 1 to n-1 do
begin
for j := i+1 to n do
begin
if a[i] > a[j] then
begin
temp := a[i];
a[i] := a[j];
a[j] := temp;
end;
end;
end;
writeln('Dãy số sau khi được sắp xếp tăng dần là: ');
for i := 1 to n do
begin
write(a[i], ' ');
end;
writeln();
readln;
end.
rất dài nha bạn:
program XuLyDaySo;
var
N, i, soNguyen: integer;
daySo: array of integer;
procedure NhapDaySo(var daySo: array of integer; N: integer);
var
i: integer;
begin
SetLength(daySo, N);
for i := 0 to N - 1 do
begin
write('Nhap phan tu thu ', i + 1, ': ');
readln(daySo[i]);
end;
end;
procedure XuatDaySo(daySo: array of integer);
var
i: integer;
begin
writeln('Danh sach cac phan tu trong day:');
for i := 0 to Length(daySo) - 1 do
write(daySo[i], ' ');
writeln;
end;
function TinhTongDaySo(daySo: array of integer): integer;
var
i, tong: integer;
begin
tong := 0;
for i := 0 to Length(daySo) - 1 do
tong := tong + daySo[i];
TinhTongDaySo := tong;
end;
procedure TimMaxMin(daySo: array of integer; var Max, Min: integer);
var
i: integer;
begin
Max := daySo[0];
Min := daySo[0];
for i := 1 to Length(daySo) - 1 do
begin
if daySo[i] > Max then
Max := daySo[i];
if daySo[i] < Min then
Min := daySo[i];
end;
end;
function TinhTongDuong(daySo: array of integer): integer;
var
i, tong: integer;
begin
tong := 0;
for i := 0 to Length(daySo) - 1 do
if daySo[i] > 0 then
tong := tong + daySo[i];
TinhTongDuong := tong;
end;
function TinhTongAm(daySo: array of integer): integer;
var
i, tong: integer;
begin
tong := 0;
for i := 0 to Length(daySo) - 1 do
if daySo[i] < 0 then
tong := tong + daySo[i];
TinhTongAm := tong;
end;
function TinhTongChan(daySo: array of integer): integer;
var
i, tong: integer;
begin
tong := 0;
for i := 0 to Length(daySo) - 1 do
if daySo[i] mod 2 = 0 then
tong := tong + daySo[i];
TinhTongChan := tong;
end;
function TinhTongLe(daySo: array of integer): integer;
var
i, tong: integer;
begin
tong := 0;
for i := 0 to Length(daySo) - 1 do
if daySo[i] mod 2 <> 0 then
tong := tong + daySo[i];
TinhTongLe := tong;
end;
procedure SapXepGiamDan(var daySo: array of integer);
var
i, j, temp: integer;
begin
for i := 0 to Length(daySo) - 2 do
for j := i + 1 to Length(daySo) - 1 do
if daySo[i] < daySo[j] then
begin
temp := daySo[i];
daySo[i] := daySo[j];
daySo[j] := temp;
end;
end;
procedure SapXepTangDan(var daySo: array of integer);
var
i, j, temp: integer;
begin
for i := 0 to Length(daySo) - 2 do
for j := i + 1 to Length(daySo) - 1 do
if daySo[i] > daySo[j] then
begin
temp := daySo[i];
daySo[i] := daySo[j];
daySo[j] := temp;
end;
end;
begin
// Nhập số lượng phần tử N
write('Nhap so luong phan tu N: ');
readln(N);
// Nhập dãy số
NhapDaySo(daySo, N);
// Xuất dãy số
XuatDaySo(daySo);
// Tính tổng dãy số
writeln('Tong cac phan tu cua day: ', TinhTongDaySo(daySo));
// Tìm Max, Min
var Max, Min: integer;
TimMaxMin(daySo, Max, Min);
writeln('Gia tri lon nhat trong day: ', Max);
writeln('Gia tri nho nhat trong day: ', Min);
// Tính tổng các phần tử dương
writeln('Tong cac phan tu duong cua day: ', TinhTongDuong(daySo));
// Tính tổng các phần tử âm
writeln('Tong cac phan tu am cua day: ', TinhTongAm(daySo));
// Tính tổng các phần tử chẵn
writeln('Tong cac phan tu chan cua day: ', TinhTongChan(daySo));
// Tính tổng các phần tử lẻ
writeln('Tong cac phan tu le cua day: ', TinhTongLe(daySo));
// Sắp xếp giảm dần
SapXepGiamDan(daySo);
writeln('Day sau khi sap xep giam dan:');
XuatDaySo(daySo);
// Sắp xếp tăng dần
SapXepTangDan(daySo);
writeln('Day sau khi sap xep tang dan:');
XuatDaySo(daySo);
readln;
end.
#include <bits/stdc++.h>
using namespace std;
long long a[1000],i,n,t,ln,nn;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
t=0;
for (i=1; i<=n; i++)
t+=a[i];
ln=a[1];
nn=a[1];
for (i=1; i<=n; i++)
{
ln=max(ln,a[i]);
nn=min(nn,a[i]);
}
cout<<t<<endl;
cout<<fixed<<setprecision(2)<<(t*1.0)/(n*1.0)<<endl;
cout<<ln<<endl;
cout<<nn;
return 0;
}
program dem_so;
uses crt;
var i,n,dem,k:longint;
a:array[1..100]of longint;
begin
clrscr;
write('nhap so n:');readln(n);
for i:=1 to n do
begin
write(a[',i,']=');readln(a[i]);
end;
dem:=0;
write('nhap so k:');readln(k);
for i:=1 to n do
if a[i]=k then dem:=dem+1;
if dem=0 then write(k,' khong co trong day so tren');
readln;
end.
uses crt;
var a,b:array[1..100]of integer;
i,n,max,dem,j,kt,dem1,sct:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
dem:=1;
b[1]:=a[1];
for i:=1 to n do
begin
kt:=0;
for j:=1 to dem do
if b[j]=a[i] then kt:=1;
if kt=0 then
begin
inc(dem);
b[dem]:=a[i];
end;
end;
max:=0;
for i:=1 to dem do
begin
dem1:=0;
for j:=1 to n do
if b[i]=a[j] then inc(dem1);
if max<dem1 then
begin
max:=dem1;
sct:=b[i];
end;
end;
writeln('So xuat hien nhieu nhat la: ',sct);
writeln('So lan xuat hien la: ',max);
readln;
end.
Tư tưởng: Sort mảng a tăng dần, khi đó các phần tử giống nhau sẽ nằm cạnh nhau, rồi ta duyệt từ đầu đến cuối và đêm.
Code (C++): https://gist.github.com/minotour4869/7421de6e4c0ba475babc5c52c3a13728
Chúc bạn học tốt nha😉.
uses crt;
var a:array[1..100]of integer;
i,n:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
for i:=1 to n do
if a[i] mod 2=0 then write(a[i]:4);
readln;
end.
uses crt;
var a:array[1..1000000] of longint;
n,i:longint;
begin
clrscr;
write('Nhap so luong phan tu: '); readln(n);
for i:=1 to n do
begin
write('Nhap phan tu thu ',i,': '); readln(a[i]);
end;
write('Cac so chan: ');
for i:=1 to n do if a[i] mod 2=0 then write(a[i],' ');
readln;
end.
uses crt;
var a:array[1..100]of integer;
i,n,nn,s:integer;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
nn:=a[1];
s:=1;
for i:=1 to n do
begin
if nn>a[i] then nn:=a[i];
s:=s*a[i];
end;
writeln(nn);
writeln(s);
readln;
end.