Есть ответ 👍

Задана последовательность a1. ап вещественных чисел. округлить каждое до целого ирасположить по убыванию. вывести исходный и полученный массив. вставить в него число р.сохраняя . pascal abc

132
410
Посмотреть ответы 2

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


var

  a: array [1..11] of real;

  i, j, aj, ai: integer;

  amax, atmp, p: real;

begin

  randomize;

  writeln ('исходный массив: ');

  for i : = low (a) to high (a) - 1 do begin

    a [i] : = random * 100;

    write (a [i]: 5: 2, ' ');

  end;

  for i : = low (a) to high (a) - 1 do begin

    a [i] : = round (a [i]);

  end;

  for i : = low (a) to high (a) - 1 do begin

    amax : = a [i];

    aj : = i;

    for j : = i to high (a) do begin

      if a [j] > amax then begin

        amax : = a [j];

        aj : = j;

      end;

    end;

    if i < > aj then begin

      atmp : = a [i];

      a [i] : = a [aj];

      a [aj] : = atmp;

    end;

  end;

  writeln;

  writeln ('полученный массив: ');

  for i : = low (a) to high (a) - 1 do begin

    write (a [i]: 5: 2, ' ');

  end;

  writeln;

  write ('введите число р: ');

  read (p);

  ai : = high (a);

  for i : = low (a) to high (a) - 1 do begin

    if p > a [i] then begin

      ai : = i;

      break;

    end;

  end;

  for i : = high (a) downto ai + 1 do

    a [i] : = a [i - 1];

  a [ai] : = p;

  writeln ('массив после вставки: ');

  for i : = low (a) to high (a) do begin

    write (a [i]: 5: 2, ' ');

  end;

end.

   


как-то так:

#include < iostream>

using namespace std;

// в данном примере я использовал типы float, т. к. при попытке делить 3 на 2 мы получаем 1.5, но тип int обрезает все после .

int main()

{

    cout < < "task 30240725! " < < endl; // just for fun

    int m[12] = {-1,-2,3,4,5,6,7,8,9,10,11,12}; // инициализируем массив из 12 элементов, чтоб хоть части из них была отрицательная

    // среднее арифметическое состоит из сумма_числел / кол-во_чисел

    float min_sum = 0;           // сумма чисел

    float total_min_count = 0;   // кол-во чисел

    // инициализиуем цикл от 0 (т. к. все массивы начинаются с 0) до 12 не включительно (т. к. всего элементов 12 начиная с 0. значит 11)

    for (int i = 0; i < 12; i++) {

        // если текущий элемент массива m от индекса i меньше чем 0, значит это отрицательное число

        if (m[i] < 0) {

            min_sum += m[i];     // складываем, непосредственно, само число m[i]

            total_min_count++;   // увеличиваем кол-во чисел на 1. можно написать строку вида total_min_count = total_min_count + 1; - суть не поменяется

        }

    }

    // если в массиве не было отрицательных чисел, то делаем проверку. если кол_во_чисел и сумма_чисел равны 0 значит в массиве не было отрицательных чисел.

    // а т. к. по умолчанию min_sum и total_min_count равны 0, то при попытке поделить их получим ошибку. для этого обрабатываем это условие, чтоб не дать ее допустить.

    if (total_min_count == 0 & & min_sum == 0) {

        // выкидываем сообщение, мол, нету в массиве отрицательных чисел, работать не буду

        cout < < "there are no negative numbers in the array" < < endl;

        // делаем return, дабы программа не продолжила выполнение

        return 0;

    }

    // если же у нас есть и кол-во_чисел и общая_сумма, то спокойно делим одно на другое и сразу выводим в консоль результат.

    cout < < "average: " < < min_sum / total_min_count < < endl;

    // завершаем выполнение программы

    return 0;

}

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS