Вычислить номер максимального элемента массива - C (СИ)
Формулировка задачи:
Здравствуйте друзья
Помогите решить задание:
В одномерном массиве, состоящем из n целочисленных элементов, вычислить номер максимального элемента массива. Массив заполняется случайными числами, размерность массива вводится с клавиатуры.
Решение задачи: «Вычислить номер максимального элемента массива»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- /* прототип. Описывайте вверху подобным образом свои функции, а сами функции размещайте под main */
- int random (int a);
- int main()
- {
- srand(time(NULL));
- int size, max=0, i;
- int * a;
- /* если размер массива задается пользователем необходимо выделять память
- * динамически, используя malloc.
- * если создается массив целых чисел то (int*)malloc(sizeof(int)*размер).
- */
- /* При динамическом выделении памяти, возможна ситуация, когда система по каким-то причинам не может выделить память, в таком случае
- * программа не сможет выполнить свои задачи */
- printf ("Vvedite size:");
- scanf("%d",&size);
- a = (int*)malloc(sizeof(int)*size);
- if (a==NULL) exit(0);
- for (i=0;i<size;i++)
- {
- a[i]=random(100); //здесь вы передаете в функцию random значение, которое потом будет использовано как максимум диапазона случайных чисел
- if (a[i] > max)
- max=a[i];
- printf("a[%d]=%d\n",i,a[i]);
- }
- printf("Max value=%d\n",max);
- free(a); //динамически выделенную память нужно возвращать системе.
- return 0;
- }
- int random (int a)
- {
- return rand()%a;
- }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с стандартными функциями C, а также для генерации случайных чисел.
- Определяем прототип функции, которая будет вычислять максимальное значение массива.
- В функции main() инициализируем генератор случайных чисел с помощью функции srand(time(NULL)).
- Создаем переменные: размер массива size, номер максимального элемента max и счётчик i.
- Выделяем динамическую память под массив a с помощью функции malloc(sizeof(int)*size).
- Если память не может быть выделена, то выходим из программы с помощью функции exit(0).
- Заполняем массив a случайными числами в диапазоне от 1 до 100 с помощью функции random(100).
- Находим максимальное значение массива, сравнивая каждый элемент с текущим максимумом.
- Выводим на экран значения каждого элемента массива и его номер.
- Выводим на экран максимальное значение массива.
- Освобождаем динамическую память с помощью функции free(a).
- Возвращаем 0 из функции main(), что означает корректное завершение программы.
- В функции random(a) генерируем случайное число в диапазоне от 1 до a с помощью функции rand()%a.
- Возвращаем полученное случайное число в качестве результата работы функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д