Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 17
  1. #1
    Tham gia
    21-09-2009
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts

    Bài tập Pascal nội dung về mảng?

    1: Viết chương trình nhập vào một dãy n số nguyên (n: hằng số). In ra màn hình các giá trị khác nhau của dãy số này.
    VD: nhập vào: 5 20 15 5 20 17 ==> In ra: 5 20 15 17
    2: Cho 1 dãy gồm n số nguyên dương có 3 chữ số, hãy sắp xếp dãy theo thứ tự tăng dần của chữ số hàng đơn vị; hàng đơn vị bằng nhau thì sắp xếp theo thứ tự tăng dần của hàng chục; hàng chục bằng nhau thì sắp xếp theo thứ tự tăng dần của hàng trăm.
    3: Cho 2 mảng A và B đã được sắp xếp theo thứ tự tăng dần. Hãy trộn 2 mảng đó lại với nhau để có mảng thứ 3 là mảng C với điều kiện mảng C cũng được sắp xếp theo thứ tự tăng dần ngay sau khi trộn.
    Thanks các bạn trước!
    Quote Quote

  2. #2
    Tham gia
    05-05-2004
    Bài viết
    216
    Like
    2
    Thanked 8 Times in 8 Posts
    B1:
    Var i,j,k,n: integer;
    {Coi n la bien}
    BEGIN
    Write('N=');Readln(n);
    For i:=1 to n do
    Begin
    Write('A[',i,']=');Readln(a[i]);
    End;
    {Duyet qua cac phan tu, neu phan tu khong trung thi in ra}
    For i:=1 to n do
    For j:=1 to n do
    If (i<>j) and (a[i]<>a[j]) then
    Write(A[i]:6);

    Readln;
    END.

    <hic, buồn ngủ quá.

  3. Thành viên Like bài viết này:


  4. #3
    Tham gia
    21-09-2009
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi hcvtpt View Post
    B1:
    Var i,j,k,n: integer;
    {Coi n la bien}
    BEGIN
    Write('N=');Readln(n);
    For i:=1 to n do
    Begin
    Write('A[',i,']=');Readln(a[i]);
    End;
    {Duyet qua cac phan tu, neu phan tu khong trung thi in ra}
    For i:=1 to n do
    For j:=1 to n do
    If (i<>j) and (a[i]<>a[j]) then
    Write(A[i]:6);

    Readln;
    END.

    <hic, buồn ngủ quá.
    Bài của bạn khi chạy không được! Nếu lấy phần vd mình đưa ra thì Nó in ra hàng số: 5 20 5 20

  5. #4
    Tham gia
    10-11-2009
    Location
    TP Hồ Chí Minh
    Bài viết
    985
    Like
    171
    Thanked 49 Times in 47 Posts
    Cái bài 1 có lẽ nên đưa vào mảng B xét

  6. #5
    Tham gia
    15-09-2009
    Bài viết
    3
    Like
    0
    Thanked 1 Time in 1 Post
    B1 của bạn thưc ra rất dễ và có tới 2 cách để làm
    C1 là gán 1 mảng boolean để đánh dấu các phần tử giống nhau đã đươc in ra
    Var i, j, n: Integer;
    a: array[100] of Integer;
    b: array[100] of Boolean;
    Begin
    Readln(n);
    for i := 1 to n do Readln(a[i]);
    for i := 1 to n do b[i] := True;
    for i := 1 to n do
    if b[i] then
    Begin
    Write(a[i]:6);
    for j := i + 1 to n do
    if a[i] = a[j] then b[j] := False;
    End;
    Readln;
    End.
    C2 là duyệt ngươc về sau xem phần tử đó đã xuất hiện chưa
    Var i, j, n: Integer;
    a: array[100] of Integer;
    Begin
    Readln(n);
    for i := 1 to n do Readln(a[i]);
    Write(a[1]:6);
    for i := 2 to n do
    Begin
    for j := 1 to i - 1 do
    if a[i] = a[j] then continue;
    Write(a[i]:6);
    End;
    Readln;
    End.

  7. Thành viên Like bài viết này:


  8. #6
    Tham gia
    21-09-2009
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts
    Cảm ơn các bạn nhé!
    Hai câu còn lại mong các bạn giúp đỡ, mình đang cần gấp vì sắp tới mình phải thi Pascal rồi!

  9. #7
    Tham gia
    25-11-2007
    Location
    TP.HCM
    Bài viết
    100
    Like
    0
    Thanked 4 Times in 3 Posts
    bài 1
    Code:
    uses crt;
    var a:array[1..100] of integer;
        i,n:integer;
        t:set of byte;
    begin
    clrscr;
    write('nhap so pt cua day : ');readln(n);
    writeln('nhap day : ');
    for i:=1 to n do readln(a[i]);
    write('cac so khac nhau trong day : ');
    for i:=1 to n do
      if not (a[i] in t) then
       begin
         write(a[i],' ');
         t:=t+[a[i]];
       end;
    readln;
    end.
    bài 3

    Code:
    uses crt;
    var a:array[1..100] of integer;
        i,j,n,t:integer;
    begin
    clrscr;
    {--- nhap mang a ---}
    write('nhap so pt cua a : ');readln(n);
    write('nhap day a : ');
    for i:=1 to n do readln(a[i]);
    {--- nhap mang b noi vao mang a ---}
    write('nhap so pt cua b : ');readln(n);
    write('nhap day b : ');
    for j:=i+1 to i+n do readln(a[j]);
    {--- sap xep lai mang ---}
    n:=j;
    for i:=1 to n-1 do
      for j:=i+1 to n do
        if a[i]>a[j] then
           begin
             t:=a[i];
             a[i]:=a[j];
             a[j]:=t;
           end;
    clrscr;
    {--- in ket qua ---}
    for i:=1 to n do write(a[i],' ');
    readln;
    end.
    Được sửa bởi QuyNam lúc 16:48 ngày 24-12-2009

  10. Thành viên Like bài viết này:


  11. #8
    Tham gia
    04-08-2009
    Bài viết
    1
    Like
    0
    Thanked 1 Time in 1 Post

    tra loi

    Mình xin đề nghị cách sau:
    Program mang;
    uses crt;
    var A:array[1..100] of integer;
    i,n,Tg:integer;
    Begin
    clrscr;
    Write('Nhap so luong phan tu cua mang, n= ');
    readln(n);
    for i:=1 to n do
    begin
    write('nhap phan tu thu ',i,' vao: ');
    readln(A[i]);
    end;
    {Sap xep mang thanh day khong giam}
    for i:=1 to n-1 do
    if A[i+1] < A[i]then
    begin
    Tg:=A[i+1];
    A[i+1]:=A[i];
    A[i]:=Tg;
    end;
    writeln(' Cac gia tri khac nhau trong mang la: ');
    for i:=1 to do
    if A[i] < A[i+1] then write(A[i]:5);
    readln
    end.

  12. Thành viên Like bài viết này:


  13. #9
    Tham gia
    10-11-2009
    Location
    TP Hồ Chí Minh
    Bài viết
    985
    Like
    171
    Thanked 49 Times in 47 Posts
    Hi cách của pác cũng hay đó(chép dô cái ^^ ). àh theo em pác nên đổi chỗ If A[i]<A[i+1] then.... Thành A[i]<>A[i+1].. sẽ dễ nhớ hơn đó.

  14. #10
    Tham gia
    25-11-2007
    Location
    TP.HCM
    Bài viết
    100
    Like
    0
    Thanked 4 Times in 3 Posts
    Quote Được gửi bởi kengumuoiTH View Post
    Mình xin đề nghị cách sau:
    writeln(' Cac gia tri khac nhau trong mang la: ');
    for i:=1 to do
    if A[i] < A[i+1] then write(A[i]:5);
    readln
    end.
    thì cách của bạn cũng giống cách của mình thôi. chỉ khác nhau chỗ sắp xếp. còn đoạn cuối đề yêu cầu in ra mảng c đã sắp xếp chứ có bảo in ra những phần tử khác nhau đâu

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •