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

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

Показать ответ
Ответ:
Енотuк
Енотuк
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота