Hãy mô tả thuật toán giải bài toán tính Trung bình cộng các phần tử của dãy số A = { a1 ,a2 ,....an } cho trước.
GIÚP MÌNH VỚI NHA,MÌNH ĐANG CẦN GẤP!!!! CẢM ƠN NHIỀU...
Cho dãy A gồm N số nguyên a1,a2 ,…aN. Hãy cho biết tổng tất cả các số trong dãy A và giá trị trung bình cộng của các số trong dãy A?
Hãy xác định bài toán và mô tả thuật toán giải các bài toán
#include <bits/stdc++.h>
using namespace std;
double x,t;
int n,i;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
t=t+x;
}
cout<<"tong cac so la:"<<fixed<<setprecision(2)<<t<<endl;
cout<<"trung binh la:"<<fixed<<setprecision(2)<<t/(n*1.0);
return 0;
}
Y tưởng : xét từng số hạng trong dãy nếu số hạng > 0 thì xếp vào một biến tổng rồi chia cho số hàng đã xếp được
Input : Dãy A gồm N số nguyên a1....aN;
Output : Trung bình cộng của các số dương;
B1 : Nhập N số nguyên a1.... aN;
B2 : TB <--- 0, dem <---- 0, i <---- 1, Tong <--- 0;
B3 : Nếu a[i] > 0 thì Tong <--- TB + a[i];
B4 : dem <--- dem + 1;
B5 : Nếu i > N thì đưa ra màn hình kết quả TB = Tong/Dem rồi kết thúc chương trình;
B 6 : i <--- i + 1 rồi quay lại B3;
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
t bài toán: Cho số nguyên dương N và dãy số A1, A2,…, AN . Đếm các phần tử dương có trong dãy
a. Hãy xác định Input, Output của bài toán.
b. Hãy mô tả thuật toán giải quyết bài toán trên
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) dem++;
}
cout<<dem;
return 0;
}
Hãy mô tả thuật toán cho các bài toán sau: a) Tính tổng các phần tử chia hết cho 3 và chia hết cho 9 trong dãy gồm n số a1, a2, a3, …, an.
Hãy xác định bài toán và viết thuật toán giải bài toán tính tổng các phần tử của dãy số A = { a 1 , a 2 , . . . , a n } cho trước.
+Xác định bài toán: (0,5đ)
- Input: n, dãy số A = { a 1 , a 2 , . . . , a n }
- Output: S=( a1 + a2 + … + an )
+ Thuật toán: (1,5đ)
Bước 1: Nhập n, và a 1 , a 2 , . . . , a n ; (0,5đ)
Bước 2: S ← 0; i ← 0;
Bước 3: i ← i + 1 ; (0,5đ)
Bước 4: Nếu i ⟨= n thì S ←S + ai ; và quay lại bước 3;
Bước 5: Thông báo kết quả S và kết thúc thuật toán. (0,5đ)
Câu 2. Xét bài toán: Cho số nguyên dương N và dãy số A1, A2,…, AN. Hãy đưa ra màn hình các phần tử là số
lẻ có trong dãy
a. Hãy xác định Input, Output của bài toán.
b. Hãy mô tả thuật toán giải quyết bài toán bằng cách liệt kê hoặc vẽ sơ đồ khối
#include <bits/stdc++.h>
using namespace std;
long long n,i,x;
int main()
{
cin>>n;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2!=0) cout<<x<<" ";
}
return 0;
}
Cho dãy A gồm N số nguyên a1,a2 ,…aN và số nguyên dương k. Hãy cho biết trong dãy A có bao nhiêu số là bội của k?
Hãy xác định bài toán và mô tả thuật toán giải các bài toán
Input: N, dãy số nguyên a1,a2,...,aN và k
Output: Số phần tử là bội của k
Thuật toán liệt kê:
Bước 1: Nhập N, dãy số nguyên a1,a2,...,aN và k
Bước 2: d←0; i←1;
Bước 3: Nếu i>N thì in ra d và kết thúc
Bước 4: Nếu ai chia hết cho k thì d←d+1;
Bước 5: i←i+1; quay lại bước 3
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