Вывести номер предпоследнего положительного элемента из одномерного массива - C (СИ)

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

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

Нада вывести номер предпоследнего положительного элемента из одномерного массива

Решение задачи: «Вывести номер предпоследнего положительного элемента из одномерного массива»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main ()
{
    int *arr, N, count = 0;
    
    printf ("N = ");
    scanf ("%d", &N);
    arr = (int *) malloc (N * sizeof (int));
    printf ("Array: ");
    for (int i = 0; i < N; i ++)
    {
        arr [i] = -5 + rand () % 10;
        printf ("%d ", arr [i]);
    }
    for (i = N - 1; i > -1; i --)
        if (arr [i] > 0)
        {
            count ++;
            if (count == 2)
            {
                printf ("\nIndex: %d\n", i);
                break;
            }
        }
    if (count < 2)
        printf ("\nNo two positive elements\n");
    free (arr);
 
    return 0;
}

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

В этом коде:

  1. Объявлены переменные:
    • N - для хранения количества элементов в массиве;
    • arr - для хранения адреса начала массива;
    • count - для подсчета количества положительных элементов.
  2. Задается размер массива N с помощью функции scanf().
  3. Выделяется память под массив с помощью функции malloc().
  4. В цикле for заполняется массив случайными значениями от -5 до 5 с шагом 1.
  5. В цикле for начиная с предпоследнего элемента проверяется, является ли элемент положительным.
  6. Если элемент положительный, увеличивается счетчик count.
  7. При достижении значения count равного 2, выводится индекс последнего положительного элемента и из цикла выходится с помощью оператора break.
  8. Если после прохода по всем элементам массива значение count меньше 2, выводится сообщение об отсутствии двух положительных элементов.
  9. Выполняется функция free(), освобождающая память, выделенную под массив.
  10. Возвращается 0, что означает успешное выполнение программы.

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


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

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

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