Input: dãy số nguyên gồm n số được nhập từ bạn phím
Output: số lớn nhất, bé nhất trong dãy
B1: nhập dãy số nguyên
B2: gán max:=a[1]; min:=a[1]
B3: nếu max<a[i] thì max:=a[i]; min>a[i] then min:=a[i]
B4: in kết quả ra màn hình
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
Cho dãy số nguyên A gồm N số nguyên a1,a2,....an và một số nguyên k . Cần biết trong dãy A có bao nhiêu số nguyên có giá trị lớn hơn k
Câu hỏi :
a, xác định input và out put của bài toán
b, hãy viết thuật toán giải bài toán
c, cho dãy A = { 5,6,4,5,6 } và k=5 . Hãy mô phỏng thuật toán
Input: số nguyên n, dãy số nguyên A, số nguyên k
Output: số lượng phần tử có giá trị lớn hơn k
Thuật toán:
B1: Nhập N, dãy số nguyên A, số nguyên k
B2: dem←0; i←1;
B3: Nếu i>N thì chuyển đến B6.
B4: Nếu A[i]>k thì dem←dem+1
B5: i←i+1; Quay lại B3.
B6: In dem ra màn hình và kết thúc.
dem=0; i=1;
i>N (Sai): A[1] không lớn hơn k, i=i+1=2
i>N (Sai): A[2] lớn hơn k, dem=dem+1=1; i=i+1=3
i>N (Sai): A[3] không lớn hơn k; i=i+1=4
i>N (Sai): A[4] không lớn hơn k, i=i+1=5
i>N (Sai): A[5] lớn hơn k, dem=dem+1=2; i=i+1=6
i>N (Đúng): In dem là 6.
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;
}
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
Xây dựng thuật toán của bài toán sau: Cho dãy A gồm N số nguyên a1,a2,...,aN và 1 số nguyên k cho trước. Đếm xem có bao nhiêu phần tử trong dãy A chia hết cho số k. Mô phỏng thuật toán với 2 bộ input.
Cho một dãy số nguyên gồm 1000 phần tử đếm trong dãy trên có bao nhiêu số chẵn và thỏa mãn ở vị trí lẻ A. Viết thuật toán để giải bài toán trên B. Dựa vào thuật toán viết chương trình để giải bài toán trên
#include <bits/stdc++.h>
using namespace std;
long long a[1000],n,i,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if ((i%2==1) and (x%2==0)) dem++;
}
cout<<dem;
return 0;
}
Xây dựng thuật toán cho bài toán sau: Cho dãy A gồm N số nguyên a1,a2,...,aN và 1 số nguyên k cho trước. Đếm và đưa ra số lượng các ai = k. Mô phỏng thuật toán với 1 dãy số cụ thể.
VD: N=5, K=3, A1=2, A2=3, A3=3, A4=5, A5=6
i | 1 | 2 | 3 | 4 | 5 |
ai | 2 | 3 | 3 | 5 | 6 |
dem | 0 | 1 | 2 | 2 | 2 |
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;
}