Помогите, очень срочно. Заполнить массив случайными целыми числами и выделить в другой массив все числа, которые встречаются более одного раза.(Паскаль)
10-11 класс
|
const
n = 15;
var
a, b: array[1..n] of integer;
i, j, step, t: integer;
flag: boolean;
begin
Randomize;
Writeln('Исходные элементы массива');
for i := 1 to n do
begin
a[i] := Random(10) - 5;
Write(a[i]:4)
end;
{ Сортируем массив (метод Шелла) }
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if a[i] > a[i + step] then
begin
t := a[i]; a[i] := a[i + step]; a[i + step] := t
end;
i := i + step
end
end;
step := step div 2
end;
{
проходим по массиву и если элемент встречается более одного раза подряд,
переносим его в другой массив
}
j := 0; t := a[1]; flag := false;
for i := 2 to n do
begin
if (a[i] = t) and (not flag) then
begin
j := j + 1; b[j] := t; flag := true
end
else begin flag := false; t := a[i] end
end;
Writeln;
Writeln('Отобранные элементы массива');
for i := 1 to j do Write(b[i]:4);
Writeln
end.
Тестовое решение:
Исходные элементы массива
-2 4 1 -3 -1 -2 -5 -1 2 4 1 3 -5 -2 -3
Отобранные элементы массива
-5 -3 -2 -1 1 4
Другие вопросы из категории
обозначены символом “*”: X= E*16= *5*8 = ***14 = *****1**2. Восстановите все числа и определите число X.
количество четных и количество нечетных чисел в диапазоне от Х до У.
понять как присвоить вычисляемые значения массиву.Массивы Y(8), Z(10) , W(15) .Если что, то потом необходимо еще подсчитать общее количество в этих массивах.
program pr_10;
const b1 = 4;
b2 = 6;
c1 = 8;
c2 = 3;
d1 = 5;
d2 = 12;
var i,m:integer ; y,z,w:real;
function fY(i:integer):real;
begin
Y:=b1*sin(2*i)+exp((i-5)*ln(b2));
end;
function FZ(i:integer):real;
begin
Z:=c1*(i-4)+c2*sqr(sin(1.5*i));
end;
function FW(i:integer):real;
begin W:=d1*ln(0.1*i)+d2*exp((3)*ln(i-2.5));
end;
begin
for i:=1 to 8 do
begin
Ym[i]:= Y(i);
writeln('Y = ',y);
end;
end.
Читайте также
100.
2) Заполнить массив целыми положительными и отрицательными числами из интервала [-10;10] и вывести его в строчку. Поменять знаки элементов массива на противоположные и повторно вывести массив на экран в строчку.
Пожалуйста,помогите,очень срочно!!!
Дан массив целых чисел. Выяснить:
1) верно ли, что сумма массива есть честное число;
2)верно ли, что сумма квадратов элементов массива есть пятизначное число.
до 50, распечатать содержимое элементов массива в строку.