Câu hỏi

26/04/2013 21:51
Bác nào giúp em giải mấy bài pascal này với?
bác nào học giỏi cai môn pascal thi giúp em làm 2 bai này vói ạ.
[I]bài 1:
viết chương trình nhập từ bàn phím một dãy N số nguyên ̣(N<=1000) và một số nguyên x. tìm va chỉ ra vị chí xuất hiện đầu tiên của phần tử x trong dãy hoặc thông báo "khong tim thay' nếu không có số hạng nào của dãy có giá trị bằng x.
bài 2:
viết chương trình nhập từ bàn phím một dãy N số nguyên ̣(N<=1000). cho biết trong dãy số trung bình cộng của các số nguyên dương chia hết cho 3 (kết quả làm tròn đênns một chữ số thập phân). và ]a ra các chỉ số tương ứng với các phần tử thỏa mãn điều kiện đó. [/I]
bác nào làm được thì giúp em với. e ngu kái môn này lắm.cảm ơn các bác trước nhá. các bác giúp e nhanh với ạ e sắp phải nộp bài rồi ạ.
TungNo1
26/04/2013 21:51
[I]bài 1:
viết chương trình nhập từ bàn phím một dãy N số nguyên ̣(N<=1000) và một số nguyên x. tìm va chỉ ra vị chí xuất hiện đầu tiên của phần tử x trong dãy hoặc thông báo "khong tim thay' nếu không có số hạng nào của dãy có giá trị bằng x.
bài 2:
viết chương trình nhập từ bàn phím một dãy N số nguyên ̣(N<=1000). cho biết trong dãy số trung bình cộng của các số nguyên dương chia hết cho 3 (kết quả làm tròn đênns một chữ số thập phân). và ]a ra các chỉ số tương ứng với các phần tử thỏa mãn điều kiện đó. [/I]
bác nào làm được thì giúp em với. e ngu kái môn này lắm.cảm ơn các bác trước nhá. các bác giúp e nhanh với ạ e sắp phải nộp bài rồi ạ.
Danh sách câu trả lời (1)

Câu 1 : không có gì khó khăn cả, ta dùng while do kiểm tra có phần tử nào trong dãy có bằng x không, nếu có thì ghi lại chỉ số phần tử đầu tiên đó và dừng vòng lặp.
uses crt;
var
... a : array[1..1000] of integer;
... n, x, i : integer;
begin
...... write('Nhap N = '); readln(N);
...... for i := 1 to N do
............ begin
..................... write('Nhap so thu ',i,' : ');
..................... readln(a);
............ end;
...... write('Nhap x = '); readln(x);
...... i := 1;
...... while (i <= N) and (a <> x) do i := i + 1;
...... if i = n+1 then write('Khong tim thay')
............else write('Vi tri xuat hien dau tien cua x trong day: ',i);
...... readln
end.
Câu 2: ý của đề là tìm TBC, và đưa ra chỉ số của các số nguyên dương chia hết cho 3 trong dãy.
Ta kiểm tra từng phần tử, nếu thỏa mãn thì cộng thêm phần tử đó vào biến tổng, và cộng thêm vào biến chứa số lượng phần tử thỏa mãn (biến đếm).
Ngoài 1 mảng để nhập dãy số, ta tạo thêm 1 mảng lưu chỉ số của các phần tử thỏa mãn điều kiện. Còn chỉ số của mảng thứ 2 này chính là biến đếm ở trên
uses crt;
var
... a, b: array[1..1000] of integer;
... n, i, dem : integer;
... s : longint;
... tbc : real;
begin
...... write('Nhap N = '); readln(N);
...... for i := 1 to N do
............ begin
..................... write('Nhap so thu ',i,' : ');
..................... readln(a);
............ end;
...... s := 0; dem := 0;
...... for i := 1 to N do
............ if (a > 0) and (a mod 3 = 0) then
..................begin
........................ s := s + a;
........................ dem := dem + 1;
........................ b[dem] := i;
..................end;
...... if dem = 0 then write('Khong co so nguyen duong nao trong day chia het cho 3')
............else begin
........................... tbc := s/dem;
........................... writeln ('Trung binh cong: ', tbc:8:2);
........................... writeln ('Chi so cac phan tu thoa man: ');
........................... for i := 1 to dem do write (b:5);
.................. end;
...... readln
end.
uses crt;
var
... a : array[1..1000] of integer;
... n, x, i : integer;
begin
...... write('Nhap N = '); readln(N);
...... for i := 1 to N do
............ begin
..................... write('Nhap so thu ',i,' : ');
..................... readln(a);
............ end;
...... write('Nhap x = '); readln(x);
...... i := 1;
...... while (i <= N) and (a <> x) do i := i + 1;
...... if i = n+1 then write('Khong tim thay')
............else write('Vi tri xuat hien dau tien cua x trong day: ',i);
...... readln
end.
Câu 2: ý của đề là tìm TBC, và đưa ra chỉ số của các số nguyên dương chia hết cho 3 trong dãy.
Ta kiểm tra từng phần tử, nếu thỏa mãn thì cộng thêm phần tử đó vào biến tổng, và cộng thêm vào biến chứa số lượng phần tử thỏa mãn (biến đếm).
Ngoài 1 mảng để nhập dãy số, ta tạo thêm 1 mảng lưu chỉ số của các phần tử thỏa mãn điều kiện. Còn chỉ số của mảng thứ 2 này chính là biến đếm ở trên
uses crt;
var
... a, b: array[1..1000] of integer;
... n, i, dem : integer;
... s : longint;
... tbc : real;
begin
...... write('Nhap N = '); readln(N);
...... for i := 1 to N do
............ begin
..................... write('Nhap so thu ',i,' : ');
..................... readln(a);
............ end;
...... s := 0; dem := 0;
...... for i := 1 to N do
............ if (a > 0) and (a mod 3 = 0) then
..................begin
........................ s := s + a;
........................ dem := dem + 1;
........................ b[dem] := i;
..................end;
...... if dem = 0 then write('Khong co so nguyen duong nao trong day chia het cho 3')
............else begin
........................... tbc := s/dem;
........................... writeln ('Trung binh cong: ', tbc:8:2);
........................... writeln ('Chi so cac phan tu thoa man: ');
........................... for i := 1 to dem do write (b:5);
.................. end;
...... readln
end.
Trả lời câu hỏi
Câu hỏi lĩnh vực Lập trình
Rao vặt Siêu Vip