М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Софайа
Софайа
02.04.2020 22:56 •  Информатика

МНОГО ПАСКАЛЬ
Напишите программу, которая выполняет "сжатие массива" – переставляет все нулевые элементы в конец массива. При этом все ненулевые элементы располагаются в начале массива в том же порядке.

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .

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

Примеры
входные данные
6
1 0 2 0 3 4
выходные данные
1 2 3 4 0 0

👇
Ответ:
гот12
гот12
02.04.2020

Ничего не понял он прикольно

4,7(5 оценок)
Открыть все ответы
Ответ:
TennisDiyar
TennisDiyar
02.04.2020
11111100=1*2^{7}+1*2^{6}+1*2^{5}+1*2^{4}+1*2^{3}+1*2^{2}+0+0=128+64+32+16+8+4=252
11100111=1*2^{7}+1*2^{6}+1*2^{5}+0+0+1*2^{2}+1*2^{1}+1*2^{0}=128+64+32+4+2+1=231
1111100=1*2^{6}+1*2^{5}+1*2^{4}+1*2^{3}+1*2^{2}+0+0=64+32+16+8+4=124

383 191 95 47 23 11 5 2 1
1      1    1   1   1    1  1 0 1 -> 101111111

46688 23344 1167 583 291 145 72 36 18 9 4 2 1
0         0          1      1     1      1    0   0   0   1  0 0 1 -> 101000111100

968574 484287 242143 121071  60535 30267 15133 7566 3783 1891
0           1           1            1           1          1         1        0         1       1
945 472 236 118 59 29 14 7 3 1
1     0     0      0    1   1   0   1 1 1 -> 11101100011101111110
4,5(96 оценок)
Ответ:
pomogitmneaaaa
pomogitmneaaaa
02.04.2020
Const
  n = 10;

var
  a: array[1..n] of integer;
  i, p, q: integer;
  flag: boolean;

begin
  {1. Инициализируем массив}
  Randomize;
  Write('Элементы массива: ');
  for i := 1 to n do
  begin
    a[i] := Random(101) - 50;
    Write(a[i]:5)
  end;
  Writeln;
  {2. проверяем элементы массива на наличие отрицательных значений}
  flag := true;
  i := 1;
  {2.1 Ищем первое по порядку отрицательное }
  while flag and (i <= n) do
  begin
    flag := (a[i] >= 0);
    i := i + 1
  end;
  if flag then Writeln('В массиве нет отрицательных элементов')
  else begin
    p := i - 1;
    {2.1 Ищем последнее по порядку отрицательное }
    i := n;
    flag := true;
    while flag and (i > p) do
    begin
      flag := (a[i] >= 0);
      i := i - 1
    end;
    if flag then Writeln('В массиве один отрицательный элемент с номером ', p)
    else
      Writeln('Отрицательные элементы лежат в промежутко от ', p, ' до ', i + 1)
  end
end.

Тестовое решение:

Элементы массива:    17  -45  -29  -30   32  -12   29  -39   20    6
Отрицательные элементы лежат в промежутке от 2 до 8

const
  nm = 50;{максимальная длина массива}

var
  i, n, n2: integer;
  a: array[1..nm] of integer;
  flag: boolean;

begin
  { 1. Инициализация массива }
  Write('Введите количество элементов в массиве: ');
  Readln(n);
  Write('Введите элементы массива через пробел ');
  for i := 1 to n do Read(a[i]);
  { 2. Проверка симметричности массива }
  flag := true;
  i := 1;
  n2 := n div 2;
  while flag and (i <= n2) do
  begin
    flag := (a[i] = a[n - i + 1]);
    i := i + 1
  end;
  if flag then Writeln('Массив является симметричным')
  else Writeln('Массив не является симметричным')
end.

Тестовое решение:

Введите количество элементов в массиве: 8
Введите элементы массива через пробел 1 7 3 4 4 2 7 1
Массив не является симметричным

Введите количество элементов в массиве: 7
Введите элементы массива через пробел 8 4 9 1 9 4 8
Массив является симметричным
4,6(28 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ