Задача. Разделение по знаку. В массиве С(n) подсчитать количество отрицательных и сумму положительных элементов.
Тесты:
n | Входной массив | Кол-во отрицательных элементов | Сумма положительных элементов | Комментарий |
5 | 1.01 3 7.11 -1 -0.99 | 2 | 11.12 | Пройден |
14 | 1 2 -4.2 3.5 6.2 8 11 -144 288 9.2 -22 12 -13.5 14 | 4 | 354.9 | Пройден |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> using namespace std; int main() { int n, k=0; double S=0; cin >> n; double C[n]; for(int i=0; i<n; i++) { cin >> C[i]; if (C[i]<0) k++; else S+=C[i]; } cout << "Negative numbers: " << k << " The sum of positive numbers: " << S; return 0; } |
В ходе решении данной задачи я использую цикл for, в котором сначала считываются, а затем обрабатываются данные. Переменная-счётчик [latex]k[/latex] нужна для того, чтобы узнать кол-во отрицательных элементов. А если встречаются неотрицательные элементы, то подсчитывается их сумма в переменной [latex]S[/latex]. Для проверки выполнения программы можно воспользоваться ссылкой.
Решение на Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); int n, negative=0; double sum=0; n = in.nextInt(); double numberArray[] = new double [n]; for(int i=0; i<n; i++) { numberArray[i] = in.nextDouble(); if (numberArray[i]<0) negative++; else sum+=numberArray[i]; } System.out.print("Negative numbers: " + negative + " The sum of positive numbers: " + sum); } } |
Алёна! Последний раз смотрю код без отступов.
— Отступы
— Пояснения
— Метки
— Программа работает 🙂
Засчитано, 10 баллов.
Пожалуйста, привыкайте к соглашениям по именованию переменных в Java. Имена переменных с маленькой буквы и самое главное осмысленные: например, sum или sumPositive, negativeCount (или просто negative).
Пока не засчитываю.
Исправила названия переменных
Засчитано, 5 баллов (просрочено).