Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

удалить из массива все максимальные элементы

10-11 класс

паскаль

Tobina 13 окт. 2014 г., 7:56:31 (9 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Krotyukvlad
13 окт. 2014 г., 9:42:07 (9 лет назад)

const
  n = 50;

var
  a: array[1..n] of integer;

procedure ShiftRight(ip: integer);
// сдвигает к началу массива все элементы. расположенные за ip
var
  i: integer;
begin
  for i := ip to n - 1 do a[i] := a[i + 1];
  a[n] := -32768
end;

var
  i, j, mx, px: integer;

begin
  Randomize;
  writeln('Исходный массив');
  mx := -100;
  px := 0;
  for i := 1 to n do
  begin
    a[i] := Random(30) - 15;
    write(a[i]:4);
    if mx < a[i] then begin
      mx := a[i];
      px := i
    end
  end;
  writeln;
  writeln('Результирующий массив');
  if px = n then
    for i := 1 to n - 1 do writeln(a[i]:4)
  else
  begin
    for i := 1 to px - 1 do write(a[i]:4);
    ShiftRight(px);
    i := px;
    while (i <= n) and (a[i] <> -32768) do
      if a[i] < mx then
      begin
        write(a[i]:4);
        i := i + 1
      end
      else ShiftRight(i)
  end;
  writeln
end.

Тестовый пример:

Исходный массив
   1   2 -13   0  -2  14 -15   4  -6  -3  14   4 -10  -7  -5  11  -1 -10   9 -10 -12  14   4  -9  -5 -14   9  -9   9   5   3 -10 -15  -3   4 -14 -10   7   1 -11  -8 -15   5  -6   9  -3   9 -14  -3   1
Результирующий массив
   1   2 -13   0  -2 -15   4  -6  -3   4 -10  -7  -5  11  -1 -10   9 -10 -12   4  -9  -5 -14   9  -9   9   5   3 -10 -15  -3   4 -14 -10   7   1 -11  -8 -15   5  -6   9  -3   9 -14  -3   1



Ответить

Другие вопросы из категории

В про­грам­ме опи­сан од­но­мер­ный це­ло­чис­лен­ный мас­сив с ин­дек­са­ми от 0 до 10. Ниже пред­став­лен фраг­мент про­грам­мы, об­ра­ба­ты­ва­ю­щей

дан­ный мас­сив.

s: = 0;

n : = 10 ;

for i : = 1 to n do

begin

if i = n - i then s : = s + A[i] + A[i + 1];

end;

В на­ча­ле вы­пол­не­ния этого фраг­мен­та в мас­си­ве на­хо­ди­лись числа 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, т. е. эле­мент А[0]=0, А[1]=2 и т. д. Чему будет равно зна­че­ние пе­ре­мен­ной s после вы­пол­не­ния дан­ной про­грам­мы?


1) 0
2) 11
3) 22
4) 110

Читайте также

Дан массив целых чисел из 15 элементов, заполненный случайным образом числами из промежутка [ -20, 50 ].

Удалить из него все элементы, в записи которых есть цифра 5.
Вставить число k после всех элементов, кратных своему номеру (k вводится с клавиатуры).
Поменять местами первый положительный и последний отрицательный элементы.

Дан одномерный массив положительных целых чисел. Последовательно преобразовать этот массив по следующему алгоритму: Находится первый максимальный элемент

и устанавливается первым в массиве, затем из оставшихся находится минимальный элемент и устанавливается вторым в массиве, после чего отыскивается из оставшихся элементов максимальный и устанавливается третьим в массиве и т.д. Размерность массива задается с клавиатуры.
Помогите, пожалуйста, не получается.

дан массив целых чисел (n=10), заполненный случайными числами из промежутка [-40,30]. 1. удалить из него все элементы, которые состоят из одинаковых

цифр(включая однозначные числа). 2. вставить число k перед всеми элементами, в которых есть цифра 1(k вводить с клавиатуры). 3. переставить первые три и последние три элемента местами, сохраняя их следование.



Вы находитесь на странице вопроса "удалить из массива все максимальные элементы", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.