Tìm max của dãy số nguyên N phần tử (n
Cho dãy N số nguyên (với n nhập vào từ bàn phím). Viết chương trình thực hiện các yêu cầu sau.
a. Nhập vào dãy số n và giá trị từng phần tử của dãy.
b. Xuất giá trị của dãy vừa nhập.
c. Tính tổng các phần tử của dãy
d. In ra màn hình giá trị Max, Min của dãy.
e. Tính tổng các phần tử dương của dãy
f. Tính tổng các phần tử âm của dãy.
g. Tính tổng các phần tử chẵn của dãy.
h. Tính tổng các phần tử lẻ của dãy.
i. Sắp xếp các phần của dãy theo thứ tự giảm dần.
k. Sắp xếp các phần của dãy theo thứ tự tăng dần.
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.
Cho dãy N số nguyên ( với n nhập vào từ bàn phím) . Viết chương trình thực hiện các yêu cầu sau. a. Nhập vào dãy số n và giá trị từng phần của dãy. b. Xuất giá trị của dãy vừa nhập. c. Tính tổng các phần tử của dãy. d. In ra màn hình giá trị Max, Min của dãy. e. Tính tổng các phần tử dương của dãy. f. Tính tổng các phần tử âm của dãy. g. Tính tổng các phần tử chẵn của dãy. h. Tính tổng các phần tử lẻ của dãy. i. Sắp xếp các phần của dãy theo thứ tự giảm dần. k. Sắp xếp các phần của dãy theo thứ tự tăng dần.
SWAP X
Bạn được cho hai dãy số nguyên dương aa và bb gồm nn phần tử mỗi mảng. Bạn được phép thực hiện thao tác này nhiều lần:
Chọn 1 số nguyên ii bất kỳ (1≤i≤n) và tráo đổi 2 phần tử a[i] và b[i].
Yêu cầu: Tìm giá trị nhỏ nhất có thể của max(a1,a2,...,an)⋅max(b1,b2,...,bn)sau khi bạn thực hiện thao tác trên 1 hoặc nhiều lần.
Dữ liệu:
Dòng đầu ghi t thể hiện số testcase, t≤100.
t block tiếp theo, mỗi block có dạng:
Dòng đầu ghi số nguyên dương n (n≤104).
Dòng thứ hai ghi nn số nguyên dương a1,a2,...,an (ai≤106)
Dòng thứ ba ghi nn số nguyên dương b1,b2,...,bn(bi≤106).
Kết quả:
Ứng với mỗi testcase, in ra kết quả cần tìm.
input
3
6
1 2 6 5 1 2
3 4 3 2 2 5
3
3 3 3
3 3 3
2
1 2
2 1
output
18
9
2
Ý tưởng: Tìm số lớn nhất trong hai dãy đã cho. Không mất tính tổng quát, giả sử số lớn nhất của 2 dãy nằm trong dãy a, ta xét các số trong dãy b, tại vị trí i: nếu a[i] < b[i] thì hoán vị a[i] và b[i]. Sau đó tìm số lớn nhất trong dãy b rồi nhân với số lớn nhất của hai dãy sẽ ra được kết quả.
#include <iostream>
using namespace std;
#define maxN 105
int main() {
int a[maxN], b[maxN];
int t;
cin >> t;
while (t--)
{
int n;
cin >> n;
int maxA = 0, maxB = 0;
for (int i = 0; i < n; i++)
{
cin >> a[i]; maxA = max(a[i], maxA);
}
for (int i = 0; i < n; i++)
{
cin >> b[i]; maxB = max(b[i], maxB);
}
if (maxA < maxB)
swap(a, b);
int maxV = max(maxA, maxB);
for (int i = 0; i < n; i++)
if (b[i] > a[i])
swap(b[i], a[i]);
maxB = 0;
for (int i = 0; i < n; i++)
maxB = max(b[i], maxB);
cout << maxB * maxV << endl;
}
return 0;
}
Viết chương trình nhập vào 1 dãy số nguyên n phần tử .tìm phần tử nhỏ nhất của dãy số nguyên và ghi kết quả vào tệp ketqua.out
uses crt;
const fi='ketqua.out'
var f1:text;
a:array[1..100]of integer;
i,n,min:integer;
begin
clrscr;
assign(f1,fi); rewrite(f1);
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
min:=a[1];
for i:=1 to n do
if min>a[i] then min:=a[i];
writeln(f1,min);
close(f1);
readln;
end.
Bài 1: viết chương trình nhập dãy số nguyên A gồm N phần tử. Với N được nhập từ bàn phím. Tìm và in kết quả ra màn hình phân tử nhỏ nhất của dãy số.
Bài 2:viết chương trình nhập dãy số nguyên A gồm N phần tử. Với N được nhập từ bàn phím. Tìm và in kết quả ra màn hình phân tử lớn nhất của dãy số
Bài 1:
uses crt;
var a:array[1..100]of integer;
i,n,min:integer;
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
min:=a[1];
for i:=1 to n do
if min>a[i] then min:=a[i];
writeln(min);
readln;
end.
Bài 2:
uses crt;
var a:array[1..100]of integer;
i,n,max:integer;
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
max:=a[1];
for i:=1 to n do
if max<a[i] then max:=a[i];
writeln(max);
readln;
end.
Viết chương trình nhập một dãy số nguyên gồm N phần tử (N<=1000) và một số nguyên k. Tìm trong dãy số nguyên có phần tử có giá trị bằng k hay không, nếu có thì đưa ra màn hình vị trí của phần tử đầu tiên và đếm xem có bao nhiêu phần tử bằng k hoặc thông báo không có.
uses crt;
var a:array[1..1000]of integer;
i,n,k,dem:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
write('Nhap k='); readln(k);
for i:=1 to n do
if a[i]=k then
begin
writeln(i);
break;
end;
dem:=0;
for i:=1 to n do
if a[i]=k then inc(dem);
if dem>0 then writeln('Co ',dem,' phan tu bang ',k)
else writeln('Khong co phan tu nao bang ',k);
readln;
end.
viết chương trình nhập vào 1 dãy gồm n số nguyên ( n<= 100)
a) xuất dãy vừa nhập
b) điền phần tử có giá trị nhỏ nhất trong dãy và tìm vị trí của phần tử đó
Cho dãy số nguyên a gồm N phần tử. Đếm xem có bao nhiêu cặp (i, j) trong đó i < j và a[i] = a[j]
Input SpecificationDòng đầu là N số lượng phần tử của dãy. (0 < N <= 100000)
Dòng tiếp theo chứa n số nguyên là các phần tử của dãy số a (0< a.i <=1000)
Output SpecificationSố cặp (i,j) thỏa mãn yêu cầu.(Ngôn ngữ C++ nha)
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
cin >> n;
map<int, int> count;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
count[x]++;
}
int ans = 0;
for (auto p : count) {
int x = p.second;
ans += (x * (x - 1)) / 2;
}
cout << ans;
return 0;
}
Giúp em vs
Bài 1:Viết chương trình nhập vào một dãy số thực gồm N số (N được nhập từ bàn phím và N <=100). Tính tổng tất cả các phần tử và tính giá trị trung bình của các phần tử đó.
Bài 2:Tìm phần tử nhỏ nhất của một dãy số nguyên dương A1, A2,...,AN với N được nhập từ
bàn phím và N<=100.
Bai 2:
uses crt;
var a:array[1..100]of integer;
i,n,t,nn:integer;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
nn:=a[1];
for i:=1 to n do
if nn>a[i] then nn:=a[i];
write(nn);
readln;
end.