JavaRush/Java блог/Архив info.javarush/Кухня(); Задание N41.
terranum
28 уровень

Кухня(); Задание N41.

Статья из группы Архив info.javarush
участников
Кухня(); Задание N41. - 1 Правила [Одномерные массивы] 41. Даны действительные числа а1, а2, ..., an. Требуется умножить все члены последовательности а1, а2, ..., an на квадрат ее наименьшего члена, если ak ≥ 0, и на квадрат ее наибольшего члена, если ak ≤ 0 (1 ≤ k ≤ n).
Комментарии (8)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vash_the_Stampede
Уровень 11
8 сентября 2014, 10:51

    public static double[] J(double[] arr) {
        double min = Double.MAX_VALUE;
        double max = Double.MIN_VALUE;
        for (double v : arr) {
            min = Math.min(min, v);
            max = Math.max(max, v);
        }
        min *= min;
        max *= max;
        for (int i = 0; i < arr.length; i++) {
            if (a[i] >= 0) {
                a[i] *= min;
            }
            if (a[i] <= 0) {
                a[i] *= max;
            }
        }
        return arr;
    }
Docktor91
Уровень 40
8 сентября 2014, 11:13
если min<0 умножается на макс, я бы добавил else
Vash_the_Stampede
Уровень 11
8 сентября 2014, 11:54
что-то я тебя не совсем понял. совсем не понял
Vash_the_Stampede
Уровень 11
8 сентября 2014, 11:55
можешь пример привести?
LastLost
Уровень 41
8 сентября 2014, 12:53
кстати, на 0 множить не обязательно :)
а с else


if (a[i] > 0) 
    a[i] *= min;
else 
    a[i] *= max;


или


if (a[i] > 0)
    a[i] *= min;
else if (a[i] < 0)
    a[i] *= max;
Vash_the_Stampede
Уровень 11
8 сентября 2014, 13:09
Теперь понял, но
min *= min;
min >= 0, как и max
LastLost
Уровень 41
8 сентября 2014, 13:26
можно еще одно условие выставить, если min = 0 или max = 0 — обнулять значение вместо умножения.
Docktor91
Уровень 40
8 сентября 2014, 13:45
ахах, точно, упустил этот момент