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 positive, negative, 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. I don?t even know the way I finished up here, however I assumed this post was great. I don’t understand who you might be but definitely you’re going to a famous blogger in case you are not already 😉 Cheers!

  2. Ищете займ с минимальными требованиями и без отказов? mikro-zaim-online.ru предлагает вам уникальную возможность! Более 20 МФО готовы предоставить новым заемщикам займы под 0% на срок до 30 дней. Заполнение заявки занимает всего 10 минут, и практически все получают одобрение, даже без проверки кредитной истории. Наши специалисты выбрали для вас лучшие предложения, чтобы процесс получения денег был максимально простым и быстрым. Посетите mikro-zaim-online.ru и решите свои финансовые проблемы без лишних хлопот!

  3. Возникла необходимость срочного ремонта в доме, а денег не было. Нашел телеграм-канал новые и малоизвестные МФО 2024, где представлено более 20 малоизвестных МФО, предлагающих быстрые онлайн-займы. Приятно, что займ могут получить все от 18 лет, даже с плохой кредитной историей. Заявка была одобрена моментально, и деньги пришли на карту за несколько минут. Это помогло мне быстро справиться с ремонтом. Очень благодарен этому каналу, рекомендую всем, кто ищет быстрый займ!

  4. Друзья, подпишитесь на наш канал и узнайте о новых МФО 2024, где можно получить займ быстро и безопасно. Минимальные требования и круглосуточное оформление. Получите займ на карту даже с плохой кредитной историей. Подписывайтесь и не пропустите лучшие предложения!

  5. There are some fascinating cut-off dates in this article but I don?t know if I see all of them heart to heart. There’s some validity however I’ll take hold opinion till I look into it further. Good article , thanks and we want extra! Added to FeedBurner as nicely

  6. Magnificent goods from you, man. I have take note your stuff previous to and you’re simply too magnificent. I really like what you’ve obtained here, really like what you are stating and the best way wherein you assert it. You are making it enjoyable and you still take care of to stay it wise. I can’t wait to read far more from you. This is actually a wonderful site.

  7. В нашем Telegram-канале вы найдете актуальные предложения от новых МФО. Мы обновляем информацию каждый день, чтобы вы могли выбрать лучший вариант для себя. Наши рекомендации включают мфо без отказа на карту круглосуточно. Даже если у вас плохая кредитная история, вы сможете получить займ под 0% в рамках акций. Мы расскажем вам, что такое онлайн займы и как правильно ими пользоваться. Присоединяйтесь к нашему каналу и будьте в курсе всех новинок!

  8. Друзья, подпишитесь на наш канал и узнайте о новых МФО 2024, где можно получить займ быстро и безопасно. Минимальные требования и круглосуточное оформление. Получите займ на карту даже с плохой кредитной историей. Подписывайтесь и не пропустите лучшие предложения!

  9. Начни саморазвитие правильно! На нашем канале ты найдешь лучшие книги и пошаговые инструкции для успешного старта. Присоединяйся и начни менять свою жизнь уже сегодня! Ссылка: https://t.me/s/razvisam/

Leave a Reply

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