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

Св паскале в одномерном массиве, состоящем из n элементов, вычислить: 1) количество элементов массива, больших с 2) произведение элементов массива, расположенных после максимального по модулю элемента 3) преобразовать массив таким образом, чтобы сначала размещались все отрицательные элементе, а потом- все положительные (0 считать положительным)

👇
Ответ:
Napol28
Napol28
28.11.2020
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
const
  n = 10;

var
  a: array[1..n] of integer;
  i, j, c, nc, max, imax: integer;
  p:BigInteger;

begin
  // Заполним массив сл. числами
  max := -MaxInt;
  for i := 1 to n do
  begin
    a[i] := random(-100, 100);write(a[i]:4);
    if abs(a[i]) > max then begin
      max := a[i];imax := i;
    end;
  end;
  writeln;
  //1. Количество элементов массива, больших С.
  writeln('Введите число "с"');readln(c);
  for i := 1 to n do if a[i] > c then nc := nc + 1;
  writeln('Элементов больше чем ', c, ' : ', nc);
 
  //2. произведение элементов массива,
  //расположенных после мак симального
  //по модулю элемента 
  p := 1;
  for i := imax + 1 to n do p := p * a[i];
  writeln('Максимальный по модулю элемент находится на ', imax, ' месте');
  writeln('Произведение элементов массива,расположенных после максимального по модулю элемента ', p);
 
  //3. Преобразовать массив таким образом, чтобы сначала размещались все
  //отрицательные элементы, а потом все положительные
  for i := 1 to n - 1 do
    for j := 1 to n - i do
      if a[j] > a[j + 1] then begin
        swap(a[j], a[j + 1]);  
      end;
  writeln('Преобразованный массив :');
  for i := 1 to n do write(a[i]:4);
end.

Тестовое решение:
  -6  91  52  62 -28 -64  86  86 -91 -61
Введите число "с"
15
Элементов больше чем 15 : 5
Максимальный по модулю элемент находится на 2 месте
Произведение элементов массива,расположенных после максимального по модулю элемента -1246076928
Преобразованный массив :
 -91 -64 -61 -28  -6  52  62  86  86  91
4,5(97 оценок)
Открыть все ответы
Ответ:
Irinaytsn
Irinaytsn
28.11.2020

Число 113: для него прямой, обратный и дополнительный коды совпадают, так как оно положительное.

113(10)=01110001(2)

Число (-36):

Прямой код: 36(10)=00100100(2)

Обратный код (код, в котором меняем 0 на 1, а 1 на 0 в прямом коде):

-36(10) - обратный код 11011011(2)

Дополнительный код (к младшему разряду обратного кода прибавляем 1):

-36(10) - дополнительный код 11011100(2) - это число -36 в доп.коде

Сложим 113+(-36) в двоичных кодах:

01110001(2)+11011100(2)=1 0100 1101(2). Старшую единицу отбрасываем, получаем:

01001101(2)=77(10)

Проверим: 113-36=77 в десятичной с/с

4,8(80 оценок)
Ответ:
superbogdanova
superbogdanova
28.11.2020

Давай попробуем разобраться

 

а=8                                 

а=-5+(а+2)=-5+(8+2)=-5+10=5

b=(-a-a)*a=(-5-5)*5=-10*5=-50

c=(b-a)*(2-a)=(-50-5)*(2-5)=-55*(-3)=165

 

Поэтому с=165 и это ПРАВИЛЬНЫЙ ответ при твоих исходных данных(написанных операторах языка Бейсик). То,  что этого ответа нет в предложенных вариантах может обозначать, что

1. Ты ошиблась в условии при написании операторов.

2. Ты ошиблась при перечислении вариантов

3. Авторы  задачи очень далеки от программирования, поэтому сами не знают ответа, а в качестве ответа написали набор случайных чисел.

 

Что на самом деле - не знаю, уточняй сама.

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