Заменить все положительные элементы массива на значение минимального элемента - C (СИ)
Формулировка задачи:
1) Заменить все положительные элементы целочисленного массива размера 10 на значение минимального элемента.
2) В числовую переменную последовательно входят N целых чисел (N-задано и не более 20). Определить, какие цифры (от 0 до 9) в этих числах последовательности повторились максимальное количество раз. Предусмотреть проверку правильности ввода информации.
3) Дан массив размера N. Найти количество его локальных минимумов (локальный минимум - элемент, меньший двух своих ближайших соседей)
Прошу помощи в решении вот этих задач, заранее спасибо.
Решение задачи: «Заменить все положительные элементы массива на значение минимального элемента»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define SIZE 20
#include <time.h>
int main()
{
int mass[SIZE];
int i;
srand(time(NULL));
for(i = 0; i < SIZE; i++)
{
mass[i] = rand() % 20 + 1;
printf("%d ", mass[i]);
}
printf("\n\n");
for(i = 1; i <= SIZE; i++)
{
if((mass[i] < mass[i - 1]) && (mass[i] < mass[i + 1]))
printf("%d %d\n", i + 1, mass[i]);
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлен массив
massразмеромSIZE(20) элементов типаint. - Инициализирован генератор случайных чисел
srand(time(NULL)). - В цикле заполняются все элементы массива
massслучайными положительными числами от 1 до 20 (rand() % 20 + 1). - Выводится на экран список заполненных элементов массива.
- В цикле проверяются все элементы массива
massначиная с 1-го. Если текущий элемент меньше предыдущего и следующего за ним, то выводится на экран его индекс и значение. - Код завершается, возвращая 0.