Đến nội dung

Hình ảnh

Đếm số phần tử xuất hiện nhiều nhất trong mảng, In phần tử và sô lần xuất hiện của phần tử đó.


  • Please log in to reply
Chủ đề này có 4 trả lời

#1
thang1308

thang1308

    Trung sĩ

  • Thành viên
  • 197 Bài viết

Trên Pascal, viết chương trình:

1. Đếm số phần tử xuất hiện nhiều nhất trong mảng, In phần tử và sô lần xuất hiện của phần tử đó.

 

2. Tính tổng các số chính phương trong mảng.

 

3. Chèn 1 số x vào mảng tăng dần sao cho mảng vẫn có thứ tự tăng dần.

 

4. Cho 2 mảng A, B có các phần tử đôi một khác nhau.

  Viết chương trình in ra màn hình:

  a, hợp của 2 mảng A, B.

  b, hiệu của 2 mảng A,B. 


Hôm nay thi xong. Căn bản là mệt!!! :wacko:  :wacko:


#2
NTL2k1

NTL2k1

    Hạ sĩ

  • Thành viên
  • 99 Bài viết


Trên Pascal, viết chương trình:

1. Đếm số phần tử xuất hiện nhiều nhất trong mảng, In phần tử và sô lần xuất hiện của phần tử đó.

Code:

 

program no_1;
uses crt;
var a,d,b,c:array[1..100] of integer;
var i,n,j,t,s,k,tg,th,id:integer;
kt:boolean;
begin
clrscr;
kt:=true;
write('Nhap n la:');readln(n);
for i:=1 to n do
    begin
    write('a[',i,']=');
    readln(a[i]);
    end;
for i:=1 to n do
d[i]:=1;
for i:=1 to n-1 do
begin
j:=i+1;
while j<=n do
if a[i]=a[j] then begin
             for k:=j to n do
             a[k]:=a[k+1];
             n:=n-1;
             d[i]:=d[i]+1;
             end else j:=j+1;
if d[i]>1 then b[i]:=d[i];
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]<b[j] then
   begin
   tg:=b[i];
   b[i]:=b[j];
   b[j]:=tg;
   th:=a[i];
   a[i]:=a[j];
   a[j]:=th;
   end;
k:=0;
if n=1 then writeln('Phan tu xuat hien nhieu nhat la: ',a[1]) else
if b[1]=b[n] then
 writeln('Cac phan tu xuat hien bang nhau va xuat hien ',b[n],' lan') else
  begin
  for i:=1 to n do
  if b[1]=b[i] then k:=k+1;
  Writeln('Co ',k,' phan tu xuat hien nhieu nhat va xuat hien ',k,' lan');
  writeln('Phan tu xuat hien nhieu nhat la:');
  for i:=1 to n do
  if b[1]=b[i] then  write(a[i]:4);
  end;
readln
end.

Bình tĩnh - Tự tin - Chiến thắng

Không phải là tôi quá thông minh, chỉ là tôi chịu bỏ nhiều thời gian hơn với rắc rối .

Cứ làm việc chăm chỉ trong im lặng - Hãy để thành công trở thành tiếng nói của bạn .

 


#3
NTL2k1

NTL2k1

    Hạ sĩ

  • Thành viên
  • 99 Bài viết


2. Tính tổng các số chính phương trong mảng.

 

* Có 2 cách:

- Cách thông thường:Vừa kiểm tra vừa in ra làm trong chương trình chính luôn

- Làm 1 cái hàm kiểm tra, rồi dùng trong chương trình chính.

 -> Ở đây thì mình nghĩ ta nên dùng hàm vì nó nhìn rất rõ ràng, dễ hiểu và đặc biệt nếu làm như vậy trong thi cử sẽ đạt được điểm cao hơn so với cách thông thường.

Code:

Program no_2;

 

uses crt;
var t,i,n:word;
a:array[1..1000] of word;
function cp(n:word):boolean;
var kt:boolean;
 i:word;
begin
kt:=false;
for i:=1 to n-1 do
if i*i=n then kt:=true;
cp:=kt;
end;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
        begin
        write('a[',i,']=');readln(a[i]);
        end;
for i:=1 to n do
        if cp(a[i]) then t:=t+a[i];
writeln('Tong cac so chinh phuong trong day: ',t);
readln
end.

Bình tĩnh - Tự tin - Chiến thắng

Không phải là tôi quá thông minh, chỉ là tôi chịu bỏ nhiều thời gian hơn với rắc rối .

Cứ làm việc chăm chỉ trong im lặng - Hãy để thành công trở thành tiếng nói của bạn .

 


#4
NTL2k1

NTL2k1

    Hạ sĩ

  • Thành viên
  • 99 Bài viết


3. Chèn 1 số x vào mảng tăng dần sao cho mảng vẫn có thứ tự tăng dần.

Code:

 

program no_3;
uses crt;
var i,j,k,n:integer;
a:array[0..1000] of integer;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
        begin
        write('a[',i,']=');readln(a[i]);
        end;
writeln('Nhap so can chen:');readln(k);
if k<=a[1] then
        begin
        for i:=n+1 downto 1 do
        a[i]:=a[i-1];
        a[1]:=k;
        n:=n+1;
        end else
        begin
        i:=1;
        while (a[i]<k) and (i<=n) do
        i:=i+1;
        for j:=n+1 downto i do
        a[j]:=a[j-1];
        a[i]:=k;
        n:=n+1;
        end;
writeln('Mang sau khi chen:');
for i:=1 to n do
write(a[i]:4);
readln
end.

Bình tĩnh - Tự tin - Chiến thắng

Không phải là tôi quá thông minh, chỉ là tôi chịu bỏ nhiều thời gian hơn với rắc rối .

Cứ làm việc chăm chỉ trong im lặng - Hãy để thành công trở thành tiếng nói của bạn .

 


#5
NTL2k1

NTL2k1

    Hạ sĩ

  • Thành viên
  • 99 Bài viết


4. Cho 2 mảng A, B có các phần tử đôi một khác nhau.

  Viết chương trình in ra màn hình:

  a, hợp của 2 mảng A, B.

  b, hiệu của 2 mảng A,B. 

Code:

 

program no_4;
uses crt;
var i,j,k,l,p,n,m:longint;
a,b,c:array[1..1000] of longint;
begin
clrscr;
write('Nhap pt mang a:');readln(n);
l:=0;
for i:=1 to n do
        begin
        write('a[',i,']=');readln(a[i]);
        if a[i]=0 then l:=l+1;
        end;
write('Nhap pt mang b:');readln(m);
for i:=1 to m do
        begin
        write('b[',i,']=');readln(b[i]);
        if b[i]=0 then l:=l+1;
        end;
j:=1;
i:=1;
while i<=n do
        begin
        c[j]:=a[i];
        j:=j+1;
        i:=i+1;
        end;
i:=1;
while i<=m do
        begin
        c[j]:=b[i];
        j:=j+1;
        i:=i+1;
        end;
for i:=1 to j-1 do
        begin
        k:=i+1;
        while k<=j do
        begin
        if c[i]=c[k] then
                begin
                for p:=k to j do
                c[p]:=c[p+1];
                j:=j-1;
                end else k:=k+1;
        end;
        end;
writeln('Hop cua 2 mang A,B:');
if l=0 then
        begin
        for i:=1 to j-1 do
        write(c[i]:4);
        end else
        begin
        for i:=1 to j do
        write(c[i]:4);
        end;
writeln;
writeln('Hieu cua 2 mang A,B:');
for i:=1 to n do
write(a[i]:4);
readln
end.

Bài viết đã được chỉnh sửa nội dung bởi NTL2k1: 04-08-2016 - 16:57

Bình tĩnh - Tự tin - Chiến thắng

Không phải là tôi quá thông minh, chỉ là tôi chịu bỏ nhiều thời gian hơn với rắc rối .

Cứ làm việc chăm chỉ trong im lặng - Hãy để thành công trở thành tiếng nói của bạn .

 





0 người đang xem chủ đề

0 thành viên, 0 khách, 0 thành viên ẩn danh