viết chương trình nhập vào dãy n số nguyên.In ra màn hình các giá trị khác nhau của dãy số này,ý nghĩa của các câu lệnh của chương trình.

viết chương trình nhập vào dãy n số nguyên.In ra màn hình các giá trị khác nhau của dãy số này,ý nghĩa của các câu lệnh của chương trình.

0 bình luận về “viết chương trình nhập vào dãy n số nguyên.In ra màn hình các giá trị khác nhau của dãy số này,ý nghĩa của các câu lệnh của chương trình.”

  1. //danhle

    var n,max:int64;i,j:longint;a:array[1..1000] of int64;
    Procedure sxn(l,h:longint);
    Var
      i,j:longint;
      x,tg:int64;
    Begin
            i:=l; j:=h; x:=a[(l+h) div 2];
            Repeat
            while a[i]<x do inc(i);
            while a[j]>x do dec(j);
            if i<=j then
            begin
                    tg:=a[i];
                    a[i]:=a[j];
                    a[j]:=tg;
                    inc(i); dec(j);
            end;
            Until i>j;
            If i<h then sxn(i,h);
            If j>l then sxn(l,j);
    End;
    var b:int64;
    begin
            read(n);
            for i := 1 to n do
            begin
                    read(a[i]);
            end;
            sxn(1,n);
            b:=0;
            for i := 1 to n do
            begin
                    if a[i]+1 <> a[i+1] then
                    begin
                            write(a[i+1]-1,’ ‘);
                    end
                    else write(0,’ ‘);
            end;
    end.

    Đề bài bạn quá thiếu nha nên mình sẽ làm cách in ra số khác trong ai mảng.

    Idea: sắp xếp các số, lấy khoảng cách số lớn trừ đi khoảng cách số nhỏ là ra được các số còn trống thiếu nha.

    Bình luận
  2. Uses Crt;
      Var A : Array [1..100] Of Integer;   {Khai báo khởi tạo một mảng giá trị kiểu Interger(ở đây tối đa là 100 phần tử)}
             i , j , n : Integer ;   {Khai báo các biến kiểu Interger}
    Begin
         Clrscr ;   {Xóa sạch màn hình }

        Writeln(‘ Do dai cua day so N = ‘) ; Readln (N) ;  {Nhập độ dài của mảng dữ liệu cần nhập, một con số bất kì nhưng phải <= 100 cho trước)
         For I := 1 to n do  { Xét lần lượt  các gtri từ 1 ->n nhập vào}
       Begin
         Writeln(‘A[‘,  i , ‘]= ‘) ;  Readln( A[i] ) ;  {Lưu dữ liệu đã nhập vào mảng và khởi tạo theo thứ tự nhập}
            End ; {Kết thúc bài toán theo câu ghép}

      Writeln (‘ Cac so khac nhau la : ‘) ; Writeln ( A[1] ) ;  {Thông báo dòng lệnh ghi chú, hiện  lên giá trị đầu tiên nhập vào}
         i := 2 ;   {i lúc này =2}

    {Đoạn dưới có ý nghĩa: Đều xét cả gtri đang nhập và gtr trước, nếu kqua khác nhau thì thông báo gtri vừa nhập xong. Còn nếu kqua giống nhau thì thông báo gtri đã nhập trước đó} 
       While i <= N do

      Begin
               j := 1 ; {j ở đây nhận gtri là 1 khi thực hiện vòng lặp While…do}
               While ( j < i ) and ( A[j] <> A[i] ) do inc(j) ;
                 If j = i then writeln( A[i] ) ;
                    i :=i + 1 ;
            End ;

    Readln {Sẽ có thể thoát ra khi nhập xong bài toán}
    END. {Kết thúc bài toán}
    *Nhớ tick và chọn làm câu hay nhất cho bên mình khi có thêm một câu trả lời nữa nhé! Thanks so much 😀

    Bình luận

Viết một bình luận