Thiết kế thuật toán : cho N số nguyên và dãy số nguyên a1, a2... aN. tính tổng các phần tử chẵn và lẻ
Viết thuật toán giải bài toán: Cho số nguyên dương N và dãy số A có N phần tử A1, A2, …, AN. Hãy tính trung bình cộng các số lẻ trong dãy A.
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,t,dem;
int main()
{
cin>>n;
dem=0;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2!=0)
{
dem++;
t=t+x;
}
}
double s=t*1.0/dem*1.0;
cout<<fixed<<setprecision(2)<<s;
return 0;
}
Thuật toán liệt kê:
Bước 1: Nhập n và dãy A1,A2,..,An
Bước 2: TB←0; i←1; d←0;
Bước 3: Nếu i>n thì in ra TB/d và kết thúc
Bước 4: Nếu Ai mod 2=1 thì TB←TB+Ai và d←d+1;
Bước 5: i←i+1, quay lại bước 3
Viết thuật toán và chương trình nhập từ bàn phím dãy A gồm n phần tử a1, a2, a3,..an có kiểu số nguyên. Tìm và in ra màn hình các phần tử có giá trị lẻ, các phần tử có giá trị chẵn trong dãy A
Cho số nguyên dương N ( N ≤ 250 ) và dãy n số nguyên dương A1 A2,..., An mỗi số đều không vượt quá 500. Yêu cầu:
1) Đếm số lượng các phần tử có giá trị lẻ trong dãy số A.
2) Tính tổng giá trị các phần tử đứng vị trí chẵn trong dãy số A
3) Tính tổng giá trị các phần tử đứng vị trí lẻ trong dãy số A.
4) Tính tổng giá trị các phần tử là số chẵn đứng ở vị trí chẵn trong dãy A.
5) Tính tổng giá trị các phần tử là số lẻ đứng ở vị trí lẻ trong dãy A.
6) Tính trung bình cộng các phần tử trong dãy.
uses crt;
var a:array[1..250]of integer;
i,n,dem,t,t1,t2,t3,t4:integer;
begin
clrscr;
repeat
write('Nhap n='); readln(n);
until (0<n) and (n<=250);
for i:=1 to n do
begin
repeat
write('A[',i,']='); readln(a[i]);
until (0<a[i]) and (a[i]<=500);
end;
dem:=0;
for i:=1 to n do
if a[i] mod 2=1 then inc(dem);
writeln('So phan tu co gia tri le la: ',dem);
t:=0;
for i:=1 to n do
if i mod 2=0 then t:=t+a[i];
writeln('Tong cac phan tu co chi so chan la: ',t);
t1:=0;
for i:=1 to n do
if i mod 2=1 then t1:=t1+a[i];
writeln('Tong cac phan tu co chi so le la: ',t1);
t2:=0;
for i:=1 to n do
if (i mod 2=0) and (a[i] mod 2=0) then t2:=t2+a[i];
writeln('Tong cac phan tu chan co chi so chan la: ',t2);
t3:=0;
for i:=1 to n do
if (i mod 2=1) and (a[i] mod 2=1) then t3:=t3+a[i];
writeln('Tong cac phan tu co chi so le la: ',t3);
t4:=0;
for i:=1 to n do
t4:=t4+a[i];
writeln('Trung binh cong cac so trong day la: ',t4/n:4:2);
readln;
end.
Xây dựng thuật toán cho bài toán sau: cho 1 số nguyên dương N và dãy số nguyên A: a1,a2…aN. Hãy tính: a) Tổng các phần tử có giá trị dương: a1+a3+a5+a7 b) đếm xem trong dãy A có bao nhiêu phần tử có giá trị
a: #incldue <bits/stdc++.h>
using namespace std;
long long i,n,x,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) t=t+x;
}
cout<<t;
return 0;
}
Lập trình giải quyết bài toán sau cho số nguyên dương N (N<-500) và dãy số nguyên a1,a2,...aN. Tính và đưa ra màn hình tổng các số chẵn ở vị trí lẻ trong dãy.
#include <bits/stdc++.h>
using namespace std;
long long a[1000],i,n,t;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
t=0;
for (i=1; i<=n; i++)
if (a[i]%2==0 && i%2==1) t+=a[i];
cout<<t;
return 0;
}
Bài 1. Bài toán và thuật toán (xác định bài toán, viết thuật toán): Cho dãy gồm N số nguyên a1,...,aN. a) Tính tổng các số hạng có giá trị chẵn/lẻ có trong dãy. b) Tính tổng các số hạng có vị trí chẵn/lẻ có trong dãy. c) Đếm các số hạng có giá trị chẵn/lẻ/bằng K có trong dãy.
Cho thuật toán, giải bằng 2 cách liệt kê và vẽ sơ đồ khối
Bài 1: Cho dãy A gồm N số nguyên A1…AN. Hãy tính tổng các số các số chẵn và tổng các số lẻ có trong dãy.
Bài 2: Cho dãy A gồm N số nguyên A1…AN. Hãy đếm tất cả các số chẵn trong dãy.
Bài 3: Cho dãy A gồm N số nguyên A1…AN. Hãy cho biết có bao nhiêu số trong dãy có giá trị bằng 0.
Bài 4: Cho dãy A gồm N số nguyên A1…AN. Hãy đếm tất cả các số chẵn không âm trong dãy.
Bài 1:
#include <bits/stdc++.h>
using namespace std;
long long n,x,i,t1,t2;
int main()
{
cin>>n;
t1=0; t2=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2==0) t1=t1+x;
else t2=t2+x;
}
cout<<t1<<" "<<t2;
return 0;
}
a) Xác định bài toán
-Input: Dãy A gồm n số nguyên
-Output: Tổng các số hạng lẻ trong A
b) Mô tả thuật toán
-Bước 1: Nhập n và nhập dãy số
-Bước 2: s←0; i←1;
-Bước 3: Nếu a[i] không chia hết cho 2 thì s←s+a[i];
-Bước 4: i←i+1;
-Bước 5: Nếu i<=n thì quay lại bước 3
-Bước 6: Xuất s
-Bước 7: Kết thúc
Viêy thuật toán và chương trình nhập từ bàn phím dãy A gồm n phần tử a1, a2, a3, ...an có kiểu số nguyên. Tính và in ra màn hình tổng S các phần tử của dãy A