Отрицательные элементы
Задан одномерный массив вещественных чисел длины [latex]n[/latex]. Определить сумму и количество отрицательных элементов в массиве.
Входные данные:
В первой строке задано количество элементов массива [latex]n[/latex] ([latex]n[/latex] ≤ [latex]100[/latex]). В следующей строке через пробел задано [latex]n[/latex] вещественных чисел — элементы массива, значения которых не превышают по модулю [latex]100[/latex].
Выходные данные:
В одной строке вывести количество отрицательных чисел и через пробел их сумму с точностью до [latex]2[/latex]-х знаков после десятичной точки.
Тесты
# | ВХОДНЫЕ ДАННЫE: | ВЫХОДНЫЕ ДАННЫЕ: |
---|---|---|
1 | 5
6 -7.5 2.1 -2.0 0 |
2 -9.50 |
2 | 2 -1 -2 |
2 -3.00 |
3 | 6
1 1 1 1 1 1 |
0 0.00 |
4 | 7 -1.99 -5.34 9 6.43 -6.32 0 -7.43 |
4 -21.08 |
5 | 3 -1.992345 -5.334224 9 |
2 -7.33 |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import java.util.*; import java.lang.*; class Main { public static void main (String[] args) { int m = 0; double k = 0; Scanner input = new Scanner(System.in); int n = input.nextInt(); double x[] = new double [n]; for (int i = 0; i<n; i++) { x[i] = input.nextDouble(); } for (int i = 0; i<n; i++) { if (x[i]<0) { m++; k += x[i]; } } System.out.print(m + " " + String.format("%.3g%n", k)); } } |
Решение задачи:
Для решения данной задачи я описал две переменные: [latex]m[/latex] типа [latex]int[/latex] и [latex]k[/latex] типа [latex]double[/latex], которые изначально равны [latex]0[/latex]. Цикл ищет в массиве элементы которые меньше [latex]0[/latex]. C каждым найденным отрицательным элементом, [latex]m[/latex] увеличиваться на [latex]1[/latex], а к числу [latex]k[/latex] прибавляется сам элемент.