Вычислить номер максимального элемента массива - 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.
- Возвращаем полученное случайное число в качестве результата работы функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д