Нахождение минимального элемента в массиве чисел - C (СИ)
Формулировка задачи:
Написать программу нахождения минимального элемента в массиве чисел, оперирующую не переменными, а указателями.
#include <stdio.h> #include <stdlib.h> int main(){ int n,i; printf("Введите количество элементов: \n"); scanf ("%d",&n); int *a = (int *)malloc(sizeof(int)*(n)); for (i=0;i<n;i++) scanf("%d",&a[i]); int min = a[0]; for (i=0;i<n;i++) if(a[i]<min) { min=a[i]; } printf("Минимальный элемент = %d\n",min); return 0; }
Решение задачи: «Нахождение минимального элемента в массиве чисел»
textual
Листинг программы
#include <stdio.h> #include <time.h> #include <Windows.h> #define N 10 #define LOW_BORDER -100 #define HIGH_BORDER 100 int main(int argc, char *argv[]) { srand(time(NULL)); int *array, *minimum, size, c, i, location = 1; printf("Enter the number of elements in array\n"); scanf("%d", &size); array = malloc(size * sizeof(int)); printf("Randomly generated array of %d elements:\n", size); for (i = 0; i < size; i++) { array[i] = rand() % (HIGH_BORDER + 1 - LOW_BORDER) + LOW_BORDER; printf("%2d ", array[i]); } minimum = array; *minimum = *array; for (c = 1; c < size; c++) { if (*(array + c) < *minimum) { *minimum = *(array + c); location = c + 1; } } printf("\nMinimum element found at location %d and it's value is %d.\n", location, *minimum); system("pause"); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
- #include
для работы с функциями ввода-вывода - #include
для работы со временем - #include
для работы с консолью - #define N 10 задаем размер массива
- #define LOW_BORDER -100 задаем нижнюю границу для случайного генерирования чисел
- #define HIGH_BORDER 100 задаем верхнюю границу для случайного генерирования чисел
- #include
- Создаем основную функцию программы:
- *int main(int argc, char argv[])**
- Инициализируем генератор случайных чисел:
- srand(time(NULL));
- Выделяем память под массив:
- int array = malloc(size sizeof(int));
- Считываем размер массива:
- printf(
Enter the number of elements in array\n
); - scanf(
%d
, &size);
- printf(
- Генерируем случайные числа и выводим их на экран:
- for (i = 0; i < size; i++) {
- array[i] = rand() % (HIGH_BORDER + 1 - LOW_BORDER) + LOW_BORDER;
- printf(
%2d
, array[i]);
- }
- for (i = 0; i < size; i++) {
- Находим минимальный элемент:
- minimum = array;
- minimum = array;
- for (c = 1; c < size; c++)
- if ((array + c) < minimum)
- {
- minimum = (array + c);
- location = c + 1;
- }
- Выводим результат на экран:
- *printf(
\nMinimum element found at location %d and it's value is %d.\n
, location, minimum);**
- *printf(
- Ожидаем нажатия клавиши для выхода из программы:
- system(
pause
);
- system(
- Завершаем программу:
- return 0;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д