Дан массив K(n), найти Kmin, и Kmax. Вывести числа в интервале [KMin, KMax], не встречающиеся в массиве K - C (СИ)
Формулировка задачи:
Дан массив целых чисел K(n), найти в нем минимальный Kmin, и максимальный Kmax элементы. Вывести в порядке возрастания все целые числа из интервала (Kmin; Kmax), не встречающихся в исходном массиве.
Решение задачи: «Дан массив K(n), найти Kmin, и Kmax. Вывести числа в интервале [KMin, KMax], не встречающиеся в массиве K»
textual
Листинг программы
#include <cstdio> #include <cstdlib> #include <climits> int main() { int n; scanf("%d", &n); // allocate memory for array int * a = (int*)malloc(sizeof(int) * n); int i; // input array for (i = 0; i < n; i++) scanf("%d", &a[i]); // output array for (i = 0; i < n - 1; i++) printf("%d ", a[i]); printf("%d\n", a[n - 1]); // serach kmin, kmax int kmin = INT_MAX, kmax = INT_MIN; for (i = 0; i < n; i++) { if (a[i] > kmax) kmax = a[i]; if (a[i] < kmin) kmin = a[i]; } // output kmin, kmax printf("kmin = %d\nkmax = %d\n", kmin, kmax); int j; bool flag; // search and output integer numbers on [kmin; kmax] which != array[i] for (j = kmin; j <= kmax; j++) { flag = true; for (i = 0; i < n; i++) if (a[i] == j) { flag = false; break; } if (flag) printf("%d\n", j); } // free memory a = (int*)realloc(a, 0); // or free(a); system("pause"); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется функция main()
- Объявляется переменная n для хранения количества элементов в массиве
- С помощью функции scanf() вводится количество элементов в массив
- Выделяется память под массив a с помощью функции malloc()
- В цикле for с помощью функции scanf() вводятся элементы массива a
- В цикле for выводятся элементы массива a, кроме последнего
- Вычисляются минимальное и максимальное значение в массиве a
- Выводятся значения kmin и kmax
- Инициализируются переменные j, flag и начинается поиск целых чисел в интервале [kmin; kmax], которые не встречаются в массиве a
- Если число j в интервале [kmin; kmax] не встречается в массиве a, то оно выводится на экран
- Освобождается память, выделенная под массив a
- Запускается пауза и программа возвращает 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д