Thứ Sáu, 9 tháng 8, 2019

Bài 42 - Giải thuật nhập môn

Nhập dãy số nguyên.
a/ Hãy đưa ra các phần tử mà xuất hiện trong dãy đúng 1 lần
b/ Hãy tìm các số trong dãy xuất hiện quá 1 lần


4 nhận xét:

  1. Uses crt;
    Var f,t:array[1..10000] of longint;
    n,i:longint;
    Begin
    readln(n);
    for i:=1 to n do
    Begin
    readln(f[i]);
    t[f[i]]:=t[f[i]]+1;
    end;
    Write('Cac phan tu chi xuat hien mot lan la:');
    For i:=1 to n do
    If t[f[i]]=1 then Begin Write(f[i],' '); t[f[i]]:=0; end;
    Writeln;
    Write('Cac phan tu xuat hien nhieu lan la:');
    For i:=1 to n do
    If t[f[i]]>1 then Begin Write(f[i],' '); t[f[i]]:=0; end;
    readln;
    end.

    Trả lờiXóa
  2. câu a

    program p;
    uses crt;
    var a:array[1..100] of longint;
    i,n,t,j:longint;
    s,st:String;
    begin
    clrscr;
    readln(n);
    for i:=1 to n do readln(a[i]);
    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;
    writeln;
    for i:=1 to n do
    begin
    str(a[i],st);
    s:=s+st;
    end;
    for i:=1 to length(s) do
    if s[i]=s[i+1] then delete(s,i,2);
    for i:=1 to length(s) do
    if s[i]<>'' then writeln(s[i]);
    readln;
    end.

    Trả lờiXóa
  3. câu b

    uses crt;
    var f,a:array[1..10000] of longint;
    i,n,j,d,k:longint;
    begin
    clrscr;
    readln(n);
    for i:=1 to n do readln(a[i]);
    for i:=1 to n do
    begin
    for j:=i+1 to n do
    if a[i]=a[j] then
    begin
    d:=d+1;
    f[d]:=a[i];
    end;
    end;
    write('cac phan tu xuat hien nhieu lan la ');
    for k:=1 to d do write(f[k]:5);
    readln;
    end.

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất