1樓:
把後面重複的數字改為0,在輸出時把不等於0的數輸出即可!
去重程式:
vara:array[1..200]of longint;
i,n,b,m:longintr;
begin
readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n-1 do
for b:=i+1 to n do
begin
if a[i]=a[b] then a[b]:=0;
end;
m:=0;
for i:=1 to n do
begin
if a[i]<>0 then inc(m);
end;
writeln(m);
for i:=1 to n do
if a[i]<>0 then write(a[i],' ');
end.
2樓:
就二十五個數的話就可以每次都用最古老的方法判重,即用陣列。
vari,j,n:longint;
a:array[1..25] of longint;
begin
n:=1;
while(n<=25) do
begin
a[n]:=random(10000);
for i:=1 to n-1 do
if(a[n]=a[i]) then continue;
inc(n);
end;
writeln(n);
for i:=1 to 25 do
write(a[i],' ');
end.
3樓:匿名使用者
其實相鄰是甚麼定義。。。題目沒有給出﹣﹣ 以下只實現了去重@@var a:array[1..?] of boolean;
i,j,n:integer;
begin
randomize;
for i:=1 to ? do a[i]:=false;
n:=0;
repeat
i:=random(?);
if a[i]=false then inc(n);
a[i]:=true;
until n=25;
for i:=1 to ? do if a[i] then write(i);
end.
差不多就是這些了,所謂「?」是題目給的範圍,自定義。。。
4樓:匿名使用者
用乙個判重陣列:
b:array[0..25]of boolean;
初始值均為true 隨機數k生成後 b[k]:=false;
k:=random(25);
if b[k] then
begin
b[k]:=false;
write(k);
end;
pascal語言常見錯誤,Pascal 語言問題
它會告訴你第幾行第幾列有錯誤的。pascal 語言問題 varn,m integer a array 1.10000 of boolean i,j integer begin readln n,m for i 1 to n do a i true for j 1 to m do for i 1 to...
pascal題 裝箱問題求解法,PASCAL題 裝箱問題求解法
這裡不但有這一題的詳細解答,還有其他相似題目,可供參考。附程式 program ll vars,i,j,n,min,v longint a array 0.10000 of longint procedure run k,va longint begin if va min then min va ...
pascal語言小問題,關於Pascal語言問題 完整的
像writeln sqrta 8 2 中的 8 2,稱之為 雙場寬 我們知道實型 real型,小數 數值在pascal中表現為科學計數法。比如 123.456,表現為 1.2345600000e 02。為了跟我們的日常使用習慣接近,我們用雙場寬控制實型數值的輸出形式。第乙個冒號後面的數表示總場寬,包...
判斷是否為素數(pascal),用Pascal語言 如何判斷素數
通俗一點講 n的因數都分布在數軸上。如果n不是完全平方數,那麼因數總是成雙成對的出現,總有一半因數在sqrt n 的前面。如 24 sqrt 24 4 24的因數有1,2,3,4,6,8,12,24,可以看出,在sqrt 24 4以後,每乙個24的因數都與4和以前的乙個24的因素相對應 1 24 2...
cc和pascal的區別,C 和pascal哪個更有用?
我學的是pascal,專門應付比賽的c和c 對實際操作比較好pascal要不是為了應付比賽,最好不要學都是三種不同的語言,沒有可比性 c 是c的公升級版,前者包括後者.c 很難pascal語言是另一類語言,和c不一樣 c語言與c 的區別有很多 1,全新的程式程式思維,c語言是面向過程的,而c 是物件...