Выяснить, каких элементов в массиве больше — отрицательных или положительных - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ввести с клавиатуры число n. Динамически выделить память для массива целых чисел размером n. Заполнить массив данными с клавиатуры. Выяснить, каких элементов в массиве больше - отрицательных или положительных.

Решение задачи: «Выяснить, каких элементов в массиве больше — отрицательных или положительных»

textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
 
 
int main()
{
    int         *arr;               // массив
    int         n;                  // размер массива
    int         countPositive = 0;  // количество положительных чисел в массиве
    int         countNegative = 0;  // количество отрицательных
 
 
    printf("Vvedite razmer massiva: ");
    scanf("%d",  &n);
 
 
    arr = calloc( n,  sizeof(int) );
 
 
    for (int i=0;  i<n;  ++i)
    {
        printf("-> ");
        scanf("%d",  &arr[i]);
 
        if (arr[i] >=0 )    ++countPositive;
        else                ++countNegative;
    }
 
 
    if (countPositive > countNegative)
        printf("Positive > Negative\n");
    else
        printf("Negative > Positive\n");
 
 
    free(arr);
 
 
    return 0;
}

Объяснение кода листинга программы

  1. Объявление переменных:
    • arr - указатель на массив (тип int), который будет содержать n целых чисел;
    • n - переменная, которая будет хранить размер массива;
    • countPositive и countNegative - переменные для подсчета положительных и отрицательных чисел соответственно (тип int).
  2. Ввод размера массива с клавиатуры.
  3. Выделение памяти под массив с помощью функции calloc.
  4. Цикл по всем элементам массива:
    • Ввод числа с клавиатуры;
    • Если число больше или равно 0, увеличивается countPositive;
    • Если число меньше 0, увеличивается countNegative.
  5. Вывод сообщения о том, каких чисел больше.
  6. Освобождение памяти, выделенной под массив.
  7. Возврат 0, чтобы указать, что программа успешно завершилась.

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы