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. What i do not understood is actually how you are not actually a lot more well-appreciated than you may be right now. You’re so intelligent. You realize thus significantly when it comes to this topic, made me in my view imagine it from a lot of numerous angles. Its like women and men aren’t involved until it?s something to accomplish with Lady gaga! Your personal stuffs outstanding. Always take care of it up!

  2. I’m extremely pleased to discover this website. I want to to thank you for your time due to this wonderful read!! I definitely appreciated every part of it and i also have you book marked to look at new information in your blog.

  3. Today, considering the fast life style that everyone is having, credit cards get this amazing demand in the economy. Persons coming from every arena are using the credit card and people who aren’t using the credit cards have prepared to apply for one. Thanks for giving your ideas in credit cards.

  4. Thanks for your article on the vacation industry. I will also like to add that if you’re a senior contemplating traveling, it can be absolutely essential that you buy travel insurance for seniors. When traveling, retirees are at high risk being in need of a health emergency. Getting the right insurance coverage package in your age group can protect your health and provide you with peace of mind.

  5. Повышение квалификации медицинских работников является важной частью профессионального развития и поддержания высокого уровня оказания медицинских услуг. Программы, представленные на сайте maps-edu.ru, охватывают широкий спектр направлений, включая новейшие методики диагностики и лечения, управление в здравоохранении, медицинскую этику и право. Курс предусматривает как теоретическую подготовку, так и практические навыки, необходимые для успешной работы в современных медицинских учреждениях. Участники программы получат знания, которые позволят им не только улучшить качество медицинской помощи, но и повысить свою конкурентоспособность на рынке труда, развивая личностные и профессиональные качества.

    Станьте специалистом: обучение юриспруденции и сметному делу в строительстве.

  6. Pretty great post. I simply stumbled upon your weblog and wished to say that I’ve really loved surfing around your blog posts. In any case I?ll be subscribing on your rss feed and I’m hoping you write once more very soon!

  7. Аттестация медицинских работников на категорию является важным этапом в профессиональной жизни каждого специалиста в сфере здравоохранения. Сайт maps-edu.ru предлагает комплексные программы для медработников, стремящихся повысить свою квалификацию и пройти аттестацию на получение или подтверждение категории. Эти программы разработаны с учетом последних требований и стандартов в медицинском образовании, обеспечивая получение актуальных знаний и навыков. Участие в данных курсах не только повысит ваш профессиональный статус, но и способствует улучшению качества медицинских услуг, что является важным вкладом в здоровье нации. Выбор программы аттестации на сайте maps-edu.ru – это ваш шаг к достижению новых профессиональных высот и уверенности в своих силах как специалиста высокого уровня.

    Повышайте квалификацию: курсы логопеда дефектолога дистанционно с нуля обучение развивайтесь профессионально!

  8. Курсы повышения квалификации для учителей на сайте maps-edu.ru предлагают обширный выбор программ, направленных на обновление знаний и методик обучения в соответствии с современными образовательными стандартами. Учителя получают доступ к актуальным ресурсам и инструментам для повышения эффективности педагогической деятельности, развития профессиональных навыков и внедрения инноваций в учебный процесс.

    Поднимите свой уровень: стоматология профилактическая обучение и специалистов по социальной работе.

Leave a Reply

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