2 câu trả lời
ĐỀ: Viết chương trình nhập vào một dãy số nguyên n phần tử, n nhập từ bàn phím.
- In ra màn hình dãy số vừa nhập xếp theo thứ tự tăng dần.
- In ra màn hình các số nguyên tố trong dãy số vừa nhập và đếm xem đã nhập vào bao nhiêu số nguyên tố.
(Bài làm theo kiểu thô sơ nhé)
VAR a:ARRAY[1..100] OF longint;
n,d,dem,i,j,t:longint;
BEGIN
dem:=0;
WRITELN('NHAP SO PHAN TU N:');
READ(N);
WRITELN('NHAP MANG:');
FOR i:=1 TO n DO
BEGIN
WRITE('a[',i,']=');READLN(a[i]);
END;
//---------sap---xep------
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;
write('day sau khi sap xep: ');
for i:=1 to n do write(a[i],' ');
writeln;
//--------tim-so-nguyen--to------
write('cac so nguyen to trrong day la: ');
for i:=1 to n do
if a[i]>=2 then
begin
j:=2;
while (j<=sqrt(a[i])) and ((a[i] mod j<>0)) do j:=j+1;
if j>sqrt(a[i]) then write(a[i],' ');
end;
writeln;
//----------dem-so-nguyen-to-----
FOR i:=1 TO n DO
BEGIN
d:=0;
FOR j:=1 TO a[i] DO
IF a[i] MOD j = 0 THEN d:=d+1;
IF d=2 THEN dem:=dem+1;
END;
WRITE('SO NGUYEN TO CO TRONG MANG LA:',dem);
readln;
END.
Nhập vào mảng 1 chiều gồm 1 dãy số nguyên N phần tử. Hãy xóa các phần tử trùng nhau trong mảng và in kết quả ra màn hình. Ý tưởng: Duyệt mảng 1 chiều bằng 2 biến, nếu phát phát hiện phần tử nào trùng thì xóa phần tử ấy ra khỏi mảng.
Program Bo_so_trung;
Const
Max=100;
Var
a:Array[1..Max] Of Integer;
i,j,k,n:Integer;
Begin
Writeln('XOA BO CAC SO TRUNG NHAU');
Writeln('------------------------');
Writeln;
Write('-Nhap so phan tu mang: ');
Readln(n);
For i:=1 To N Do
Begin
Write('-Phan tu A[',i,']= ');
Readln(a[i]);
End;
i:=2;
While i <= N Do
Begin
j:=1;
While a[j] <> a[i] Do
j:=j+1;
If j < i Then
Begin
For k:=i to n-1 Do
a[k]:= a[k+1];
n:=n-1;
End
Else
i:=i+1;
End;
Writeln;
Write('-Mang con lai: ');
For i:=1 to n Do
Write(a[i]:8);
Writeln;
Writeln(' Bam phim
Readln
End.