Проверить имеются ли в массиве элементы, значения которых больше нуля - C (СИ)

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

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

Здравствуйте. Задан массив А, состоящий из n элементов. Проверить имеются ли в нем элементы, значения которых больше нуля. Если такие элементы имеются, определить наименьшее значение k, при котором A[k]>0.

Решение задачи: «Проверить имеются ли в массиве элементы, значения которых больше нуля»

textual
Листинг программы
#include <stdio.h>
#include <locale.h>
 
int func(int array[], size_t size) {
    size_t i;
    for (i = 0; (i < size) && (array[i] <= 0); ++i) { ; }
 
    return (i == size) ? -1 : i;
}
 
int main() {
    setlocale(LC_CTYPE, "RUS");
 
    int A[1000];
    int n, k = -1, i;
    printf("Введите количество элементов одномерного массива A> ");
    scanf("%d", &n);
    if ((0 < n) && (n < 1000)) {
        for (i = 0; i < n; ++i) {
            printf("Ведите элемент массива A[%d]= ", i);
            scanf("%d", &A[i]);
        }
        k = func(A, n);
 
        if (k == -1) {
            printf("Положительные элементы не найдены\n");
        }
        else {
            printf("A[%d] = %d\n", k, A[k]);
        }
    }
    else {
        printf("\nКоличество элементов в массиве не может быть меньше 1\n\n\a");
    }
 
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с консолью и вводом/выводом данных
  2. Объявление функции func, которая принимает два аргумента: массив array и его размер size. Внутри функции инициализируется счётчик i для цикла и начинается проверка каждого элемента массива. Если значение элемента больше нуля, то возвращается его индекс, в противном случае, функция продолжает проверку следующего элемента. Если все элементы меньше или равны нулю, то возвращается -1
  3. В функции main устанавливается русская локаль с помощью setlocale, затем инициализируется массив A размером 1000 элементов и переменные n, k и i
  4. Пользователю предлагается ввести количество элементов массива n. Если пользователь ввёл корректное значение (больше 0 и меньше 1000), то начинается заполнение массива A с помощью цикла for. После заполнения массива, вызывается функция func для поиска положительных элементов в массиве. Результат проверки функции сохраняется в переменной k
  5. Если функция func вернула -1, то выводится сообщение об отсутствии положительных элементов в массиве. В противном случае, выводится сообщение с индексом положительного элемента и его значением
  6. Если пользователь ввёл некорректное количество элементов (меньше 1 или больше 1000), то выводится сообщение об ошибке

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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