Предмет: Информатика,
автор: Sveta8866
Паскаль авс. Помогите пожалуйста!!!!
Вставить в одномерный массив два числа следующим образом: первое со значением N перед всеми элементами, большими N, и второе со значением M – после всех элементов, меньших М.
Ответы
Автор ответа:
0
Если элементы массива идут по возрастанию, то вот так
program wstawka;
uses crt;
const min=1;
max=20;
type zona=min..max;
massiw=array[zona] of integer;
var mas:massiw;
i,j:zona;
a,N,M:integer;
T:boolean;
BEGIN randomize;
clrscr; N:=random(20);
writeln('4ucJlo N = ',N);
M:=random(20); Writeln('4ucJlo M = ',M);
for i:=min to max-2 do
begin
mas[i+1]:=mas[i]+random(5);
write(mas[i],' ');
end;
for i:=min to max-2 do
if (mas[i]>N) and (t=false) then
begin
t:=true;
a:=mas[i];
mas[i]:=N;
for j:=i+1 to max do
begin
N:=mas[j];
mas[j]:=a;
a:=N;
end;
end;
for i:=min to max-1 do
if (mas[i]>M) and (t=true) then
begin
t:=false;
a:=mas[i];
mas[i]:=M;
for j:=i+1 to max do
begin
M:=mas[j];
mas[j]:=a;
a:=M;
end;
end;
writeln;
for i:=min to max do
write(mas[i],' ');
readkey;
END.
program wstawka;
uses crt;
const min=1;
max=20;
type zona=min..max;
massiw=array[zona] of integer;
var mas:massiw;
i,j:zona;
a,N,M:integer;
T:boolean;
BEGIN randomize;
clrscr; N:=random(20);
writeln('4ucJlo N = ',N);
M:=random(20); Writeln('4ucJlo M = ',M);
for i:=min to max-2 do
begin
mas[i+1]:=mas[i]+random(5);
write(mas[i],' ');
end;
for i:=min to max-2 do
if (mas[i]>N) and (t=false) then
begin
t:=true;
a:=mas[i];
mas[i]:=N;
for j:=i+1 to max do
begin
N:=mas[j];
mas[j]:=a;
a:=N;
end;
end;
for i:=min to max-1 do
if (mas[i]>M) and (t=true) then
begin
t:=false;
a:=mas[i];
mas[i]:=M;
for j:=i+1 to max do
begin
M:=mas[j];
mas[j]:=a;
a:=M;
end;
end;
writeln;
for i:=min to max do
write(mas[i],' ');
readkey;
END.
Автор ответа:
0
а если начало вот такое будет то дальше как? program z220; uses crt; var a: array [1..1000] of integer; t,i,k,n,m,sn,sm,d:integer; begin randomize; write('размер массива');readln(k); for i:=1 to k do begin a[i]:=random(51); write(a[i], ' ' ); end; write('введите значение чисел');readln(n,m); for i:=1 to k do begin if a[i]>n then sn:=sn+1; if a[i]<m then sm:=sm+1; end;
Автор ответа:
0
program z220; uses crt; var a: array [1..1000] of integer; t,i,k,n,m,sn,sm,d:integer; begin randomize; write('размер массива');readln(k); for i:=1 to k do begin a[i]:=random(51); write(a[i], ' ' ); end; write('введите значение чисел');readln(n,m); for i:=1 to k do begin if a[i]>n then sn:=sn+1; if a[i]<m then sm:=sm+1; end;
Похожие вопросы
Предмет: Алгебра,
автор: Аноним
Предмет: Другие предметы,
автор: airatsia
Предмет: Химия,
автор: jobss7030
Предмет: Математика,
автор: StasCollins