Даны три одномерных массива. Упорядочить их по возрастанию элементов. Составить программу проверки, сколько раз повторяется заданное число в каждом массиве. Результаты сохранить в одномерном массиве и элементы массива отсортировать по возрастанию Даны три одномерных массива. Упорядочить их по возрастанию элементов. Составить программу проверки, сколько раз повторяется заданное число в каждом массиве. Результаты сохранить в одномерном массиве и элементы массива отсортировать по возрастанию

1

Ответы и объяснения

2013-10-30T16:57:37+04:00
Программа рассчитана на то, что на экран выводится самый последний массив с результатами.

uses crt;
const
p=5;
r=5;
s=5;
var a:array[1..p] of integer;
b: array[1..r] of integer;
c: array[1..s] of integer;
m: array[1..3] of integer;
k,l,i,g,j,d,v,n:integer;
begin

readln(l);
  writeln;
 
for i:=1 to p do
readln(a[i]);
   writeln;
  
for j:=1 to r do
readln(b[j]);
     writeln;
    
for g:=1 to s do
readln(c[g]);
     writeln;
    
for i:=1 to p-1 do
repeat
d:=0;
if a[i]>a[i+1] then
begin
d:=1;
a[i]:=a[i]+a[i+1];
a[i+1]:=a[i]-a[i+1];
a[i]:=a[i]-a[i+1];
end;
until d=0;

for j:=1 to r-1 do
repeat
d:=0;
if b[j]>b[j+1] then
begin
d:=1;
b[j]:=b[j]+b[j+1];
b[j+1]:=b[j]-b[j+1];
b[j]:=b[j]-b[j+1];
end;
until d=0;

for g:=1 to s-1 do
repeat
d:=0;
if c[g]>c[g+1] then
begin
d:=1;
c[g]:=c[g]+c[g+1];
c[g+1]:=c[g]-c[g+1];
c[g]:=c[g]-c[g+1];
end;
until d=0;

for i:=1 to p do
if a[i]=l then inc(v);
m[1]:=v;
v:=0;

for j:=1 to r do
if b[j]=l then inc(v);
m[2]:=v;
v:=0;

for g:=1 to s do
if c[g]=l then inc(v);
m[3]:=v;

for n:=1 to 2 do
repeat
d:=0;
if m[n]>m[n+1] then
begin
d:=1;
m[n]:=m[n]+m[n+1];
m[n+1]:=m[n]-m[n+1];
m[n]:=m[n]-m[n+1];
end;
until d=0;

for n:=1 to 3 do
writeln(m[n]);
end.