1. Главная
  2. Библиотека
  3. Программирование
  4. На вход программе подается массив вещественных чисел a1...
Разбор задачи

На вход программе подается массив вещественных чисел a1, a2, a3, ... an и число k. В одномерном массиве, состоящем из 0 < n < 100 вещественных элементов, вычислить и вывести строками Сумму положительных и отрицательных элементов массива в формате

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Структуры и алгоритмы обработки данных
На вход программе подается массив вещественных чисел a1, a2, a3, ... an и число k. В одномерном массиве, состоящем из 0 < n < 100 вещественных элементов, вычислить и вывести строками Сумму положительных и отрицательных элементов массива в формате

Условие:

На вход программе подается массив вещественных чисел a1, a2, a3, ... an и число k. В одномерном массиве, состоящем из 0 < n < 100 вещественных элементов, вычислить и вывести строками
1. Сумму положительных и отрицательных элементов массива в формате "sum1-sum2"
2. Сумму элементов массива с четными и нечетными индексами в формате "sum1-sum2" (начиная с 0, относится к четным)
3. Максимальный элемент массива и его индекс в формате "max-maxN"
4. Минимальный элемент массива и его индекс в формате "min-minN"
5. Произведение элементов массива, нацело делящихся на k в формате "p". Если таких чисел нет вывести "-"
6. Вывести все элементы массива больше k в исходном порядке. Если таких чисел нет вывести "-"
7. Вывести все элементы массива меньше k в обратном порядке. Если таких чисел нет вывести "-"
8. Вывести исходный массив отсортированный по возрастанию
9. Вывести исходный массив отсортированный по убыванию
10. Вывести число уникальных элементов
11. Вывести количество пар чисел, которые в сумме дают k. Пара чисел с индексами 1,2 и 2,1 считаются за одну пару.
12. Сжать массив, удалив из него все элементы, модуль которых меньше k. Освободившиеся в конце массива элементы заполнить нулями.
13. Переставить элементы в отрезке индексов [k, 2*k] в начало массива

Решение:

  1. Получаем входные данные из stdin
  2. Разбиваем первую строку на массив чисел
  3. Преобразуем элементы массива в вещественные числа
  4. Получаем число k
  5. Выполняем последовательно все 13 операций

    Вот готовая программа:

    <?php
    $input = trim(fgets(STDIN));
    $numbers = explode(' ', $input);
    $numbers = array_map('floatval', $numbers);
    $k = floatval(trim(fgets(STDIN)));
    n=count(n = count(numbers);

    $sum_positive = 0;
    sumnegative=0;\nforeach(sum_negative = 0;\nforeach (numbers as $num) {
    if ($num > 0) $sum_positive += $...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Каким образом в программе обрабатывается случай, когда отсутствуют числа, нацело делящиеся на k, при вычислении их произведения?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет