Вопрос задан 17.04.2021 в 13:51. Предмет Информатика. Спрашивает Lykoshkov Dima.

Задан массив из N действительных чисел. Определить количество максимальных элементов. Определить

максимальный элемент среди положительных чисел и максимальный среди отрицательных чисел и их номера.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Гречанник Влад.
Const
    n = 100;

var
    i, k_max, max, neg_max: integer;
    a: array[1..n] of integer;

begin
    for i := 1 to n do
    begin
        a[i] := random(100) - 50;
        write(a[i], ' ');
    end;
    writeln();
    
    max := a[1];
    k_max := 1;
    neg_max := 0;
    for i := 1 to n do
    begin
        if a[i] > max then begin
            max := a[i];
            k_max := 1;
        end;
        if a[i] = max then k_max := k_max + 1;
        if (a[i] < 0) and (abs(a[i]) > abs(neg_max)) then
            neg_max := a[i];
    end;
    
    writeln('Max: ', max, ' k=', k_max);
    writeln('Positive: ', max);
    writeln('Negative: ', neg_max);
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

  1. Инициализировать переменную max_value значением первого элемента массива.
  2. Инициализировать переменную max_count значением 1.
  3. Пройти по всем элементам массива, начиная со второго.
  4. Если текущий элемент больше max_value, то присвоить max_value значение текущего элемента и max_count значение 1.
  5. Если текущий элемент равен max_value, то увеличить значение max_count на 1.
  6. После прохода по всем элементам массива вернуть max_count.

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

  1. Инициализировать переменные max_positive_value, max_negative_value, max_positive_index и max_negative_index значением -бесконечность.
  2. Пройти по всем элементам массива.
  3. Если текущий элемент больше max_positive_value и является положительным числом, то присвоить max_positive_value значение текущего элемента и max_positive_index индекс текущего элемента.
  4. Если текущий элемент меньше max_negative_value и является отрицательным числом, то присвоить max_negative_value значение текущего элемента и max_negative_index индекс текущего элемента.
  5. После прохода по всем элементам массива вернуть max_positive_value, max_positive_index, max_negative_value и max_negative_index.

Пример реализации на Python:

python
def count_max_values(arr): max_value = arr[0] max_count = 1 for i in range(1, len(arr)): if arr[i] > max_value: max_value = arr[i] max_count = 1 elif arr[i] == max_value: max_count += 1 return max_count def find_max_values(arr): max_positive_value = float('-inf') max_negative_value = float('-inf') max_positive_index = -1 max_negative_index = -1 for i in range(len(arr)): if arr[i] > max_positive_value and arr[i] > 0: max_positive_value = arr[i] max_positive_index = i elif arr[i] < max_negative_value and arr[i] < 0: max_negative_value = arr[i] max_negative_index = i return max_positive_value, max_positive_index, max_negative_value, max_negative_index

Пример использования:

python
arr = [1, 5, 3, 5, 2, 6, -4, -5, 2] print(count_max_values(arr)) # 2 print(find_max_values(arr)) # (6, 5, -4, 6)
0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос