Cho N và dãy số a1.aN hãy cho biết có bao nhiêu số hạng trong dãy có giá trị bằng k
2 câu trả lời
Program baitap;
Uses crt;
Var A:array[1..200] of integer;
N,i,k,dem:integer;
Begin
Clrscr;
Write('N='); Readln(N);
Write('k='); Readln(k);
dem:=0;
For i:=1 to N do
Begin
Write('A[',i,']=');
Readln(A[i]);
If A[i]=k then dem:=dem+1;
End;
Writeln('Co ',dem,' so hang trong day bang ',k);
Readln
End.
* Xác định bài toán :
- Input : số n và dãy a1, a2, ... , an và số k
- Output : số lượng số hạng có giá trị bằng k
* Ý tưởng :
- Tìm kiếm tuần tự được thực hiện một cách tự nhiên. Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với giá trị khóa k cho đến khi gặp số hạng bằng khóa k thì tăng giá trị biến đếm lên một đơn vị. Trong trường hợp thứ hai không có gái trị nào bằng khóa k giá trị biến đếm sẽ bằng 0
* Mô tả thuật toán :
- Bước 1 : nhập n, số hạng a1, a2, ... , an và khóa k
- Bước 2 : i ← 1, dem ← 0
- Bước 3 : nếu i > n thì thông báo gia trị dem rồi kết thúc
- Bước 4 : nếu a[i] = k thì dem ← dem + 1;
- Bước 5 : i ← i + 1, quay lại bước 3