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

Заполнить массив случайными целыми числами и выделить в другой массив все числа, которые встречаются более одного раза.(Паскаль)

10-11 класс

Bbbbbb222 19 мая 2014 г., 14:37:43 (9 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Лилипутка78
19 мая 2014 г., 17:13:28 (9 лет назад)

 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



Ответить

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

нарисовать рисунок "закат"
Определить все простые двузначные числа. Есть предположение, что решается именно так, помогите пожалуйста составить блок-схему. Program

example14;

Var i:

integer; function prost(i: integer): boolean;

var j:integer;

begin prost := true; i:=abs(i); for j := 2 to (i div 2) do if (i mod j = 0) then prost := false; end;

begin for i := 10 to 99 do if prost(i) = true then write(i:5);

readln(i);

end.

чему равен 120/8 в двоичной системе

варианты ответов
А) 00010000
В) 11100011
С) 00110011
Д) 01010101
Е) 00001111

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

1)заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку и повторно вывести в строчку,заменив все четные элементы на число

100.
2) Заполнить массив целыми положительными и отрицательными числами из интервала [-10;10] и вывести его в строчку. Поменять знаки элементов массива на противоположные и повторно вывести массив на экран в строчку.
Пожалуйста,помогите,очень срочно!!!



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