В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
BackedSmile
BackedSmile
19.10.2020 10:25 •  Информатика

Написать на с++ для n чисел определить количество каких чисел больше: положительных или отрицательных, а так же вычислить сумму всех чисел и разницу между максимальным и минимальным числами.

Ответ:
lexa123assasin
lexa123assasin
06.10.2020 10:31
#include <iostream>
using namespace std;

/*
 * Сумма элементов массива
 * [ 1, 2, 3]  => 6
 * [-5, 8, 2] => 5
 */
int arraySum(int a[], int s)
{
    int ret = 0;
    for (int i = 0; i < s; i++) {
        ret += a[i];
    }
    return ret;
}

/*
 * Определение, каких чисел больше в массиве.
 * [-1,  2,  3]  => "Положительных"
 * [ 1, -2, -3]  => "Отрицательных"
 */
const char* plusMinGreater(int a[], int s)
{
    int plus = 0, minus = 0;
    for (int i = 0; i < s; i++) {
        if (a[i] > 0) plus++;
        if (a[i] < 0) minus++;
    }
    return (plus > minus ?
               "Положительных чисел больше" :
                (plus < minus ?
                    "Отрицательных чисел больше" :
                    "Положителных и отрицательных поровну"));
}

/*
 * Разница между максимальным и минимальным элементами.
 * [5, 3, 2] => 5 - 2 = 3
 */
int maxMinDiff(int a[], int s)
{
    int min = a[0], max = a[0];
    for (int i = 1; i < s; i++) {
        if (a[i] > max) max = a[i];
        if (a[i] < min) min = a[i];
    }
    return max - min;
}

int main()
{
    int n;
    cout << "n = ";
    cin >> n;
    
    int a[n];
    for (int i = 0; i < n; i++) {
        cout << "Число " << i << ": ";
        cin >> a[i];
    }
    
    cout << plusMinGreater(a, n) << endl
         << "Сумма: " << arraySum(a, n) << endl
         << "Разница максимального и минимального элементов: "
            << maxMinDiff(a, n) << endl;
    
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?