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

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

10-11 класс

йцувап 13 сент. 2013 г., 5:01:11 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
FEDOLE
13 сент. 2013 г., 5:40:28 (10 лет назад)

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 перевели в системы счисления с основаниями 16, 8, 4, 2. Часть символов при записи была утеряна. Позиции утерянных символов

обозначены символом “*”: X= E*16= *5*8 = ***14 = *****1**2. Восстановите все числа и определите число X.

помогите написать программы на паскале 1.вычислить произведение 3-х вводимых чисел которые меньше 20. 2. вывести на экран

количество четных и количество нечетных чисел в диапазоне от Х до У.

СРОЧНО.Вот код.Это программа не вся ,здесь даны формулы для вычисления массивов, которые и нужно найти.Написал функцию, вроде бы всё нормально, но не могу

понять как присвоить вычисляемые значения массиву.Массивы 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.

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

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

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

Помогите очень срочно!!!!!

Дан массив целых чисел. Выяснить:
1) верно ли, что сумма массива есть честное число;
2)верно ли, что сумма квадратов элементов массива есть пятизначное число.



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