Проверить имеются ли в массиве элементы, значения которых больше нуля - 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; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и вводом/выводом данных
- Объявление функции
func
, которая принимает два аргумента: массивarray
и его размерsize
. Внутри функции инициализируется счётчикi
для цикла и начинается проверка каждого элемента массива. Если значение элемента больше нуля, то возвращается его индекс, в противном случае, функция продолжает проверку следующего элемента. Если все элементы меньше или равны нулю, то возвращается -1 - В функции
main
устанавливается русская локаль с помощьюsetlocale
, затем инициализируется массивA
размером 1000 элементов и переменныеn
,k
иi
- Пользователю предлагается ввести количество элементов массива
n
. Если пользователь ввёл корректное значение (больше 0 и меньше 1000), то начинается заполнение массиваA
с помощью циклаfor
. После заполнения массива, вызывается функцияfunc
для поиска положительных элементов в массиве. Результат проверки функции сохраняется в переменнойk
- Если функция
func
вернула -1, то выводится сообщение об отсутствии положительных элементов в массиве. В противном случае, выводится сообщение с индексом положительного элемента и его значением - Если пользователь ввёл некорректное количество элементов (меньше 1 или больше 1000), то выводится сообщение об ошибке
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д