Trang chủ Tin Học Lớp 8 Viết chương trình nhập vào mảng n từ bàn phím...

Viết chương trình nhập vào mảng n từ bàn phím và in ra màn hình sắp xếp dãy số tăng dần !!Giải thích kĩ từng bước!! câu hỏi 1825114 - hoctapsgk.com

Câu hỏi :

Viết chương trình nhập vào mảng n từ bàn phím và in ra màn hình sắp xếp dãy số tăng dần !!Giải thích kĩ từng bước!!

Lời giải 1 :

Chương trình:

program sapxep;

uses crt;

var A:array[1..1000] of integer;

      n,i,j,tg:integer;

begin

       clrscr;

       write('Nhap so luong phan tu: ');  readln(n);

       for i:=1 to n do

              begin

                     write('Nhap so thu ',i,': ');  readln(A[i]);

              end;

       for i:=1 to n-1 do

              for j:=i+1 to n do

                     if A[i]>A[j] then

                            begin

                                   tg:=A[i];

                                   A[i]:=A[j];

                                   A[j]:=tg;

                            end;

       for i:=1 to n do write(A[i],' ');

       readln;

end.

Giải thích:

Ban đầu ta nhập dữ liệu

Tiếp theo ta thực hiện sắp xếp:

Dãy tăng dần là số trước nhỏ hơn số sau 

Ta xét từng vị trí, nghĩa là từ vị trí ấy ta tìm số nhỏ nhất và vị trí ấy chính là số nhỏ nhất trong khoản đó

Cuối cùng in mảng đó ra

Bạn cứ lấy ví dụ ra giấy bạn sẽ thấy

Thảo luận

-- for i:=1 to n-1 do for j:=i+1 to n do if A[i]>A[j] then begin tg:=A[i]; A[i]:=A[j]; ... xem thêm
-- gt cho mình khúc này ik
-- đó là khúc sắp xếp chạy từ 1 đến n-1 và j từ i+1 đến n lồng nhau nếu 2 số không thỏa mãn của dãy tăng dần thì đổi vị trí cho nhau
-- https://hoidap247.com/cau-hoi/1825355
-- pro tin học
-- cũng thường thôi

Lời giải 2 :

Uses Crt;    {Khai báo thư viện}
Var A:array[1..1000] of integer;
       i,j,n,tg: integer;

Begin

 Clrscr; {Lệnh xóa màn hình}
Writeln('Nhap so phan tu n vao day:');  Readln(n); {Đọc biến n}
For i:=1 to n do 
  Begin
 Writeln('Nhap so thu',i,':'); Readln(A[i]); {Đọc biến A[i]}
  End; {Kết thúc lệnh ghép}

For i:= 1 to n-1 do {Đối với i được gán = 1 đến n-1 thì}
For j:=i+1 to n do {Đối  với j được gán = i+1 đến n t thì}
 If A[i]>A[j] then
  Begin
 tg:=A[i];
 A[i]:=A[j];
 A[j]:=tg;
  End;
Writeln('Day so sap xep theo thu tu tang dan la:');

For i:= 1 to n do 
  Write(A[i]:3); {Giãn cách các số sang ngang nếu là write, theo dọc nếu là writeln}
Readln

End.
*Nhớ tick và chọn làm ctrhn cho bên mình khi có thêm 1 ctrl nữa nhé! Thanks so much :33 (Có gì không hiểu, comment bên dưới)

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK