pascal lớp 8

G

gapro124

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Giúp mình bài này nhé, mình sẽ thank nhiều
Viết chương trình nhập vào mảng số nguyên a gồm n phần tử. Thực hiện các điều kiện sau:
- In mảng vừa nhập ra màn hình
- Hiển thị các số là số Fibonacy có trong dãy.
- Sắp xếp mảng theo thứ tự giảm dần.
- Tìm phần tử nguyên dương nhỏ nhất, chỉ ra vị trí của nó.
- Tìm phần tử âm lớn nhất, chỉ ra vị trí của nó.
- Tính trung bình cộng của mảng.
___________________
Đề hơi dài nhưng mong các bạn bỏ chút thời gian giúp mình cái nha, mình sắp thi rồi, làm ơn giúp mình nha.
 
L

love_minh95

In ra:for i:=1 to n do write(a,' ');
Hiển thị các số fibonacci:
var p:array[1..92] of int64;
begin
p[1]:=1;p[2]:=2;
for i:=3 to 92 do p:=p[i-1]+p[i-2];
for i:=1 to n do
begin
ok:=false;
for j:=1 to 92 do
if a=p[j] then begin ok:=true; break; end;
if ok then write(i,' ');
end;
sắp xếp đơn giản thui quicksort nhá
procedure qs(l,h:longint);
var i,j,tg,x:longint;
begin
i:=l;
j:=h;
x:=a[random(h-l+1)+l];
repeat
while a<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
tg:=a;
a:=a[j];
a[j]:=tg;
inc(i);
dec(j);
end;
until i>j;
if l<j then qs(l,j);
if i<h then qs(i,h);

end;
tìm ptử ng (+) nhỏ nhất:
for i:=1 to n do if (a>0) then begin k:=i; break; end;
for i:=1 to n do if (a>0) and (a<a[k]) then k:=i;
write(i);

Tìm ptử (-) lớn nhất ;
for i:=1 to n do if (a<0) then begin k:=i; break; end;
for i:=1 to n do if (a<0) and (a>a[k]) then k:=i;
write(i);
Trung bình cộng:
Tong:=0;
for i:=1 to n do tong:=tong+a;
write(tong/n);
end.
thank cho mình nhá
 
Q

quanghero100

đây là bài giải của tất cả các ý bạn yêu cầu trong một chương trình hoàn chỉnh lun nek bạn test thử nhé:D:D.Vi yêu cầucủa bạn hơi nhìu nên để tổ chức nó trọng một chương trình thì hơi dài bạn thông cảm
Mã:
uses crt;
var a,b:array[0..100] of integer;
    tg,i,j,n,s:integer;
function fibo(i:integer):boolean;
var a,b,c:integer;
begin
 fibo:=false;
 a:=1;
 b:=0;
 c:=0;
 while i > c do
  begin
   c:=a+b;
   b:=a;
   a:=c;
   end;
  if a=i then fibo:=true;
end;
begin
  clrscr;
  write('n='); readln(n);
  for i:=1 to n do
    begin
     write('a[',i,']='); readln(a[i]);
    end;
    clrscr;
    b:=a;
  writeln('mang vua nhap la: ');
  for i:=1 to n do write(a[i],' ');
  writeln;
  writeln('cac so fibo co trong day la: ');
  for i:=1 to n do
   if fibo(a[i])=true then write(a[i],' ');
   writeln;
  writeln('cac so duoc sap xep theo thu tu giam dam nhu sau: ');
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if b[i]<b[j] then
        begin
          tg:=b[i];
          b[i]:=b[j];
          b[j]:=tg;
        end;
  for i:=1 to n do
   write(b[i],' '); writeln;
  i:=n+1;
  repeat
   dec(i);
  until (b[i]>0) or (i=0);
  if i>0 then
   begin
      writeln('phan tu duong nho nhat la: ',b[i]);
      write('vi tri cua phan tu do trong mang vua nhap la: ');
      for j:=1 to n do
        if a[j]=b[i] then write(j,' ');
          writeln;
   end
   else if i<1 then writeln('khong co phan tu duong');
   i:=0;
   repeat
   inc(i);
   until (b[i]<0) or (i>n);
  if i<=n then
   begin
    writeln('phan tu am lon nhat la: ',b[i]);
    write('vi tri cua phan tu do trong day vua nhap la: ');
    for j:=1 to n do
    if a[j]=b[i] then write(j,' ');
    writeln;
   end
  else if i>n then writeln('khong co phan tu am');
  writeln('phan tu lon nhat la: ',b[1]);
  write('vi tri cua phan tu lon nhat trong mang vua nhap: ');
  for j:=1 to n do
    if a[j] =b[1] then write(j,' ');
  writeln;
  write('trung binh cong cua day la: ');
  s:=0;
  for i:=1 to n do
    s:=s+a[i];
  writeln(s/n:4:2);
readln;
end.
 
G

gapro124

cảm ơn bạn nhiều nha. :):):) Chắc bạn học môn này giỏi lắm nhỉ, bạn có thể chi cho mình một vài chiêu để học tốt môn này không. Mình thấy khó quá, học mà khó hiểu thế nào ấy.
 
L

love_minh95

giỏi lắm à? cần thì anh mới chú solo tin không?seo không viết quicksort mà viết bubble sort làm gì:))
 
Q

quanghero100

giỏi lắm à? cần thì anh mới chú solo tin không?seo không viết quicksort mà viết bubble sort làm gì:))

hjhj em học môn này còn kém lắm nhưng mà anh muốn so lo thì mời anh đăng kí event thách đấu của anh 11thanhkhoeo. Nếu có cơ hội chúng ta sẽ gặp nhau :D:D:D

Anh Thành em sr vì spam:p:p:p
 
Q

quanghero100

em đang lớp 10

anh Thành lập pic rùi đó em sẽ đấu với anh thử xem sao nhưng mà đợi em thi học kì xong đã tại bây giờ đang là thời gian âo điểm

khoảng tuần sau chúng ta giao lưu nhé hè hè mong anh chỉ giáo



:D:D:D
 
Q

quanghero100

hjhj em xin nhận thua :D:D:D mà anh gì đó ơi anh vào event thách đấu của anh thành đăng kí đi nhé hè này chúng ta cùng nhau trao đổi kiến thức tin học :):):)
 
X

xubaxabu

@love_minh95: đây đâu phải là chỗ để thách đố này nọ. Thiết nghĩ bài toán trên khá đơn giản dành, chắc dành cho các bạn đại trà thì dùng 2 vòng lặp for có phải dễ hiểu và tập trung sâu hơn vào cái yêu cầu của đề ko. Hơn nữa ko có giới hạn dữ liệu thì chẳng thể nói quick sort hay bubble sort cái nào tốt hơn cả.
 
L

love_minh95

à hè này anh phải về quê,quê thì không có máy tính.Mà event là cái gì anh cũng chả biết cái đấy là cái gì,a mới đăng kí trên forum này mà :-*
 
S

satthuca

giup minh bai nay vs.Chieu nay minh kt roi,thks truoc

1)viết chương trình đọc từ bàn phím dãy n số thực(1<n<50)rồi đếm xem có bao nhiu số dương?

,tính tổng của chúng.Đưa kết quả ra màn hình
2)Lập chương trình nhập từ bàn phím dãy n số(1<n<=50)rồi sắp xếp các dãy số đó theo nguyên tắc A1 đổi chỗ với An;A2 đổi với An-1;A3 đổi chỗ An-2.Đưa kết quả ra màn hình
Minh can gap.Thks
 
T

thienvamai

1)viết chương trình đọc từ bàn phím dãy n số thực(1<n<50)rồi đếm xem có bao nhiu số dương?

,tính tổng của chúng.Đưa kết quả ra màn hình
2)Lập chương trình nhập từ bàn phím dãy n số(1<n<=50)rồi sắp xếp các dãy số đó theo nguyên tắc A1 đổi chỗ với An;A2 đổi với An-1;A3 đổi chỗ An-2.Đưa kết quả ra màn hình
Minh can gap.Thks

bài 2 chơi bẩn được, bạn nhập dãy a[1] -> a[n] rồi in ngược từ a[n] về a[1] là xong =))
 
Top Bottom