Если в массиве есть два рядом стоящих чётных элемента, то вывести на экран все элементы массива стоящие перед ними - C (СИ)
Формулировка задачи:
Динамическая память. Одномерный массив. Если в массиве есть два рядом стоящих чётных элемента, то вывести на экран все элементы массива стоящие перед ними. Спасибо.
Решение задачи: «Если в массиве есть два рядом стоящих чётных элемента, то вывести на экран все элементы массива стоящие перед ними»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, *arr, i, idx = -1;
scanf("%d", &n);
arr = (int) malloc(sizeof(int) * n);
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
for (i = 0; i < n - 1; i++) {
if ((arr[i] % 2 == 0) && (arr[i + 1] % 2 == 0)) {
idx = i;
break;
}
}
if (idx == -1)
return 0;
for (i = 0; i < idx; i++)
printf("%d", arr[i]);
return 0;
}
Объяснение кода листинга программы
Вывод:
- Ввод количества элементов в массив.
- Выделение памяти под массив.
- Ввод элементов массива.
- Поиск пары соседних чётных элементов.
- Вывод всех элементов, стоящих перед найденной парой.