Yahoo Hỏi & Đáp sẽ ngừng hoạt động vào ngày 4 tháng 5 năm 2021 (Giờ Miền Đông nước Mỹ) và từ nay, trang web Yahoo Hỏi & Đáp sẽ chỉ ở chế độ đọc. Các thuộc tính hoặc dịch vụ khác của Yahoo hay tài khoản Yahoo của bạn sẽ không có gì thay đổi. Bạn có thể tìm thêm thông tin về việc Yahoo Hỏi & Đáp ngừng hoạt động cũng như cách tải về dữ liệu của bạn trên trang trợ giúp này.
Bài tập pascal..................?
Viết chương trình nhập vào số nguyên dương N; N chạy từ 1 đến 100; nhập vào dãy A bất kì A1, A2, ... An. Nhập vào số nguyên dương K bất kì; in ra màn hình chỉ số của phần tử trong dãy A có giá trị bằng K.
tớ cũng đã làm theo cách đó; nhưng phải có thêm trường hợp với dãy không có giá trị nào bằng A; vướng vào vòng for nên cứ mỗi giá trị A[i] tương ứng không thỏa mãn là nó in ra màn hình một dòng " Không có giá trị bằng K "
program btmr;
uses crt;
var A:array[1..100]of integer;
i, N, K: integer;
begin
clrscr;
write('Nhap N = '); readln(N);
write('Nhap K = '); readln(K);
for i:=1 to N do
begin
write('Phan tu thu ',i,'=');
readln(A[i]);
end;
for i:=1 to N do
if A[i]=K then
write('chi so ',i, ' Gia tri ', A[i])
else write(' Khong co gia tri bang K');
readln
end.
bạn jackyrain có thể làm thêm trường hợp dãy A không có giá trị nào bằng K không?
5 Câu trả lời
- XXXLQDLv 41 thập kỷ trướcCâu trả lời yêu thích
Làm như bạn Vodka là tạm được nhưng chương trình bị in ra nhiều dòng "Khong co gia tri bang k"
kể cả khi trong day có giá trị đó vì lệnh write(' Khong co gia tri bang K'); được viết trong vòng lặp nên bị in ra N lần .
Ta có thể sửa chương trình lại một tí để chỉ in ra khi thực sự trong dãy không có số K đã cho
program btmr;
uses crt;
var A:array[1..100] of integer;
i, N, K: integer;
Blg:Boolean;
begin
clrscr;
write('Nhap N = '); readln(N);
for i:=1 to N do
begin
write('Phan tu thu ',i,'=');
readln(A[i]);
end;
write('Nhap so K = '); readln(K);
Blg:=False;
for i:=1 to N do
if A[i]=K then
Begin
writeln('Chi so ',i, ' Gia tri ', A[i]);
Blg:=True;
End;
If Not Blg Then writeln(' Khong co gia tri bang K trong day da cho');
readln
end.
Chúc bạn học tốt.
- 1 thập kỷ trước
Uses Crt;
Var A:=Array [1..100] of integer;
N,K,i:byte;
Begin
Clrscr;
Write('Nhap vao so nguyen duong K: ');
Readln(K);
For i:=1 to K do
Begin
Write('Nhap A[',i,']= ');
Readln(A[i]);
End;
Write('Nhap vao so nguyen duong cua K: ');
Readln(K);
For i:=1 to N do
If i = K then writeln(A[i]);
Readln;
End.
Hy vọng mình làm đúng theo ý bạn
Chúc thành công
- The HongLv 61 thập kỷ trước
Bạn phải khai báo các biến n, i, k là biến nguyên và một mảng a
bầy giờ cho i chạy từ 1 đến 100 nhập các số vào ai
for i:=1 to 100 do
begin
wite('nhap phan tư a ',i,': ");
readln(a[i]);
end;
'bầy giờ nhập biến k và cho i chạy từ 1 đến 100 và so sánh k với ai
write(' hay nhap bien k: '); readln(k);
for i:=1 to 100 do
if a[i] = k then wite('chi so cua phan tu co gia tri k la: ',i);
bạn cần xử lý một chút, tôi lâu không làm pascal rôi nên chỉ viết đoạn thuật toán thôi.
chúc vui
- 1 thập kỷ trước
bài này gần giống trong sgk 10 đó.
chỉ cần dựa vào thuật toán lầ ok.
Viết 1 CT cần phần mở đầu, thân và kết thúc
Program tenCT;
uses crt;
Var ;( khai báo các hàm thuộc các tập giá trị nào vd như word; integer; hay real.....)
begin
clrscr;
Write ( ' Nhập số N và dãyÂ...: ');
readln ();
rồi áp dụng thuật toán vào rồi readln; và End.
- ?Lv 61 thập kỷ trước
Sửa lại chút xíu cho bạn nè
program btmr;
uses crt;
var A:array[1..100]of integer;
i, N, K, kt: integer;
begin
clrscr;
write('Nhap N = '); readln(N);
write('Nhap K = '); readln(K);
for i:=1 to N do
begin
write('Phan tu thu ',i,'=');
readln(A[i]);
end;
kt:=0;
for i:=1 to N do
if A[i]=K then
begin
kt:=i;write('A[',kt,']=',A[kt],' ');
end;
if kt=0 then
writeln('Khong co gia tri bang ',k);
readln;
end.