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. I have to thank you for the efforts you have put in penning this blog. I am hoping to view the same high-grade content by you in the future as well. In truth, your creative writing abilities has inspired me to get my very own blog now 😉

  2. Thanks for making me to attain new suggestions about computer systems. I also have belief that certain of the best ways to help keep your laptop computer in excellent condition has been a hard plastic case, or maybe shell, that suits over the top of your computer. A lot of these protective gear are generally model precise since they are manufactured to fit perfectly within the natural outer shell. You can buy them directly from the vendor, or through third party sources if they are intended for your laptop, however don’t assume all laptop can have a covering on the market. Just as before, thanks for your tips.

  3. Если хотите турецкий сериалы на русском языке смотреть онлайн, заходите на turkhit.tv. Здесь ежедневно появляются новые серии, все в высоком качестве и с идеальной русской озвучкой. Наслаждайтесь просмотром без навязчивой рекламы и выбирайте из множества жанров: мелодрамы, триллеры, боевики.

    На сайте можно найти как новинки, так и классические сериалы, такие как “Ветреный холм” и “Мехмед: Султан Завоеватель”. Платформа удобна в использовании, не требует регистрации и оплаты, позволяя наслаждаться сериалами в любое время.

  4. Ищете лучшие турецкие сериалы? Заходите на turklife.tv! Здесь вы найдете самые свежие новинки 2024 года и другие популярные сериалы в отличном HD 1080 качестве с профессиональной русской озвучкой. На сайте представлены сериалы всех жанров: драмы, комедии, боевики, фэнтези и многое другое.

    Каждый день добавляются новые серии, и всё это абсолютно бесплатно и без рекламы в плеере. Turklife.tv – это идеальное место для поклонников турецких сериалов. Заходите и наслаждайтесь лучшими сериалами без лишних хлопот!

  5. Hi there, i read your blog from time to time and i own a similar one and i was just curious if you get a lot of spam responses? If so how do you prevent it, any plugin or anything you can recommend? I get so much lately it’s driving me crazy so any assistance is very much appreciated.

  6. Если любите турецкие сериалы 2023 на русском языке, то вам точно понравится сайт turkhit.tv. Здесь есть сериалы разных годов и жанров, все в HD качестве и с полноценным русским переводом. Вы можете наслаждаться просмотром бесплатно и без всплывающей рекламы.

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

  7. Coming from my investigation, shopping for electronic devices online may be easily expensive, yet there are some tricks and tips that you can use to acquire the best offers. There are continually ways to uncover discount deals that could make one to buy the best electronic devices products at the smallest prices. Interesting blog post.

  8. Thanks for your interesting article. One other problem is that mesothelioma cancer is generally a result of the breathing of fibres from asbestos fiber, which is a dangerous material. It is commonly seen among employees in the construction industry who’ve long experience of asbestos. It’s also caused by moving into asbestos covered buildings for long periods of time, Genetics plays a huge role, and some people are more vulnerable to the risk compared to others.

Leave a Reply

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