Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

2 0
Read Time:2 Minute, 15 Second

Given an array of integers, calculate the ratios of its elements that are positivenegative, and zero. Print the decimal value of each fraction on a new line with  places after the decimal.

Note: This challenge introduces precision problems. The test cases are scaled to six decimal places, though answers with absolute error of up to  are acceptable.

Example

There are  elements, two positive, two negative and one zero. Their ratios are ,  and . Results are printed as:

0.400000
0.400000
0.200000

Function Description

Complete the plusMinus function in the editor below.

plusMinus has the following parameter(s):

  • int arr[n]: an array of integers

Print
Print the ratios of positive, negative and zero values in the array. Each value should be printed on a separate line with  digits after the decimal. The function should not return a value.

Input Format

The first line contains an integer, , the size of the array.
The second line contains  space-separated integers that describe .

Constraints

Output Format

Print the following  lines, each to  decimals:

  1. proportion of positive values
  2. proportion of negative values
  3. proportion of zeros

Sample Input

STDIN           Function
-----           --------
6               arr[] size n = 6
-4 3 -9 0 4 1   arr = [-4, 3, -9, 0, 4, 1]

Sample Output

0.500000
0.333333
0.166667

-----------------------------------------xxxxxxxx-----------------------------

Java Code

2021
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

class Result {

    /*
     * Complete the 'plusMinus' function below.
     *
     * The function accepts INTEGER_ARRAY arr as parameter.
     */

    public static void plusMinus(List<Integer> arr) {
   // porpostion  of positive numbers 
        // porpostion of negative  numbers
        // zeros
        int positive_numbers=0;
        int negative_numbers=0;
        int zero_numbers=0;
        int total_numbers=arr.size();
        
     for(Integer var: arr) {
             if(var ==0) {
                 zero_numbers+=1;
             }
             else if(var <0) {
                 negative_numbers+=1;
             }else {
                 positive_numbers+=1;
             }
         }
     double positive=(double)positive_numbers/total_numbers; 
     double negative=(double)negative_numbers/total_numbers; 
     double zeros=(double)zero_numbers/total_numbers; 
     
     System.out.println(String.format("%.6f",positive));
     System.out.println(String.format("%.6f",negative));
     System.out.println(String.format("%.6f",zeros));
    

    }

}

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(bufferedReader.readLine().trim());

        List<Integer> arr = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
            .map(Integer::parseInt)
            .collect(toList());

        Result.plusMinus(arr);

        bufferedReader.close();
    }
}
Happy
Happy
30 %
Sad
Sad
20 %
Excited
Excited
10 %
Sleepy
Sleepy
10 %
Angry
Angry
30 %
Surprise
Surprise
0 %

About Author

Average Rating

5 Star
39%
4 Star
21%
3 Star
15%
2 Star
21%
1 Star
3%

977 thoughts on “Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

  1. Заказать окна ПВХ Иркутск fod38.ru

    По вопросу [url=https://fod38.ru/]заказать пластиковые окна в иркутске[/url] мы обязательно Вам окажем помощь. Окна от представленной фабрики являются экологичными, так как в них не содержится свинец. После установки, в помещениях будет бесшумно и комфортно, а также безопасно для детей, ведь мы устанавливаем ручки с замком. Все окна с защитой от ультрафиолета, а также их просто мыть, удобно проветривать и радужно для глаз.

  2. Hello there, You have done an excellent job. I?ll definitely digg it and personally suggest to my friends. I’m confident they’ll be benefited from this web site.

  3. Unquestionably believe that which you stated. Your favorite justification appeared to be at the web the simplest thing to take into accout of. I say to you, I certainly get annoyed whilst people think about concerns that they just don’t understand about. You controlled to hit the nail upon the highest as smartly as outlined out the whole thing with no need side-effects , other people could take a signal. Will likely be back to get more. Thanks

  4. Фабрика окон и дверей в Иркутске fod38.ru

    Если Вы искали [url=https://fod38.ru/]фабрика окон и дверей в иркутске[/url] – то заходите на наш сайт. На сайте fod38.ru можно оформить заказ на бесплатный замер окон. Это самое верное решение, чтобы не терять своё свободное время, потому что договор можно заключить прямо на дому. Замерщик даст ответы на все Ваши вопросы, покажет модели и фотографии, примет к сведению все ваши пожелания и сделает точный замер с расценками.

  5. Всем привет! Хотите взять займ под 0% или с минимальной процентной ставкой? Наш канал вам поможет! Здесь вы найдете только проверенные [url=https://t.me/s/mfo_bez_otkaza_vsem]МФО[/url] с процентной ставкой не выше 0.8% в день и без отказов. Даже если ваша кредитная история оставляет желать лучшего, у нас есть решения для вас. Круглосуточная поддержка и полезные советы помогут вам сделать правильный выбор. Подписывайтесь и получайте деньги на выгодных условиях!

  6. Привет! Устали от отказов и высоких процентов? Наш канал – это то, что вам нужно! Мы собрали только те [url=https://t.me/s/mfo_bez_otkaza_vsem]МФО[/url], которые предлагают займы под 0% и с процентной ставкой не выше 0.8% в день. Даже если у вас есть просрочки по кредитам и плохая кредитная история, вы сможете получить деньги без проблем. У нас также есть круглосуточная поддержка и советы для заемщиков. Подписывайтесь и решите свои финансовые проблемы быстро и легко!

  7. ЯР Бистро в Ижевске bistroyar.ru

    Рады пригласить Вас в наше bistroyar.ru бистро, где возможно не только быстро и вкусно перекусить, а также провести бизнес встречу, делать заказ с доставкой, насладиться домашней кухней и порадовать себя вкусностями.

    Бистро «ЯР» расположено по адресу г. Ижевск, ул. Максима Горького, д. 163. Время работы с 10:00 до 20:00 ежедневно. Приходите к нам или делайте заказ с доставкой и наслаждайтесь блюдами разной кухни в привычной для себя обстановке.

    По запросу [url=https://bistroyar.ru/]бесплатная доставка еды на дом[/url] вы на правильном пути. У нас можно срочно заказать еду с доставкой. Заходите в наше меню на онлайн ресурсе bistroyar.ru и добавляйте выбранные блюда в корзину. Далее определите способ доставки или самовывоз, что более удобно для Вас. Если Вы хотите получить дома заказ, то обязательно впишите правильный адрес и мобильный телефон.

    Если Вы хотели найти [url=https://bistroyar.ru/]заказать готовую еду[/url] прямо сейчас, то мы Вам готовы помочь. Наш девиз – «хорошо, как дома», ведь мы готовим с любовью, что многие клиенты оценили. По любым вопросам звоните по контактному телефону +7(3412)223-230 или оставляйте заявку на сайте. Обязательно попробуйте наши десерты и горячее, скорее всего, вкуснее было только у мамы дома.

  8. Заказ еды на дом в Ижевске bistroyar.ru

    Рады пригласить Вас в наше bistroyar.ru бистро, где можно не только стремительно и вкусно позавтракать, а также провести бизнес встречу, оформить заказ с доставкой, насладиться вкуснейшей кухней и побаловать себя вкусностями.

    Кафе «ЯР» находится по адресу г. Ижевск, ул. Максима Горького, д. 163. График работы с 10:00 до 20:00 каждый день. Приходите к нам или делайте заказ с доставкой и наслаждайтесь блюдами нашей кухни в обычной для себя обстановке.

    По запросу [url=https://bistroyar.ru/]заказать еду с доставкой ижевск бесплатная доставка[/url] вы на верном пути. У нас можно срочно заказать еду на дом. Заходите в меню на онлайн ресурсе bistroyar.ru и отправляйте желаемые блюда в корзину. Далее выбирайте способ доставки или самовывоз, что более комфортно для Вас. Если Вы желаете доставку на дом, то естественно впишите достоверный адрес и мобильный телефон.

    Если Вы искали [url=https://bistroyar.ru/]доставка еды на дом[/url] прямо сейчас, то мы Вам обязательно поможем. Наш лозунг – «хорошо, как дома», ведь мы приготавливаем еду с любовью, что многие гости подчеркнули. По любым вопросам звоните по контактному телефону +7(3412)223-230 или оставляйте заявку на сайте. Обязательно попробуйте наши салаты и супы, скорее всего, вкуснее было только у мамы дома.

  9. Чтобы сделать [url=https://exci.ru/]операция по коррекции зрения[/url] приходите к нам. Мы расположились по адресу г. Ижевск, ул. Ленина, д. 101. График работы с пн по пт с 9:00 до 16:00, после 16:00 можно посетить врача, заблаговременно записавшись или по субботам и воскресеньям.

Leave a Reply

Your email address will not be published. Required fields are marked *