VCT nhập 1 dãy số in ra các phân tử trùng nhau 27/08/2021 Bởi Valerie VCT nhập 1 dãy số in ra các phân tử trùng nhau
ĐỀ: 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. Bình luận
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 de ket thuc ‘); Readln End. Bình luận
ĐỀ: 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 de ket thuc ‘);
Readln
End.