Вычислить номер максимального элемента массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте друзья Помогите решить задание: В одномерном массиве, состоящем из n целочисленных элементов, вычислить номер максимального элемента массива. Массив заполняется случайными числами, размерность массива вводится с клавиатуры.

Решение задачи: «Вычислить номер максимального элемента массива»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. /* прототип. Описывайте вверху подобным образом свои функции, а сами функции размещайте под main */
  5. int random (int a);
  6. int main()
  7. {
  8.     srand(time(NULL));
  9.     int size, max=0, i;
  10.     int * a;
  11.  
  12.     /* если размер массива задается пользователем необходимо выделять память
  13.      * динамически, используя malloc.
  14.      * если создается массив целых чисел то (int*)malloc(sizeof(int)*размер).
  15.      */
  16.  
  17.     /* При динамическом выделении памяти, возможна ситуация, когда система по каким-то причинам не может выделить память, в таком случае
  18.      * программа не сможет выполнить свои задачи */
  19.  
  20.     printf ("Vvedite size:");
  21.     scanf("%d",&size);
  22.     a = (int*)malloc(sizeof(int)*size);
  23.     if (a==NULL) exit(0);
  24.     for (i=0;i<size;i++)
  25.     {
  26.         a[i]=random(100); //здесь вы передаете в функцию random значение, которое потом будет использовано как максимум диапазона случайных чисел
  27.         if (a[i] > max)
  28.         max=a[i];
  29.         printf("a[%d]=%d\n",i,a[i]);
  30.     }
  31.     printf("Max value=%d\n",max);
  32.     free(a); //динамически выделенную память нужно возвращать системе.
  33.     return 0;
  34. }
  35.  
  36. int random (int a)
  37. {
  38.     return rand()%a;
  39. }

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с стандартными функциями C, а также для генерации случайных чисел.
  2. Определяем прототип функции, которая будет вычислять максимальное значение массива.
  3. В функции main() инициализируем генератор случайных чисел с помощью функции srand(time(NULL)).
  4. Создаем переменные: размер массива size, номер максимального элемента max и счётчик i.
  5. Выделяем динамическую память под массив a с помощью функции malloc(sizeof(int)*size).
  6. Если память не может быть выделена, то выходим из программы с помощью функции exit(0).
  7. Заполняем массив a случайными числами в диапазоне от 1 до 100 с помощью функции random(100).
  8. Находим максимальное значение массива, сравнивая каждый элемент с текущим максимумом.
  9. Выводим на экран значения каждого элемента массива и его номер.
  10. Выводим на экран максимальное значение массива.
  11. Освобождаем динамическую память с помощью функции free(a).
  12. Возвращаем 0 из функции main(), что означает корректное завершение программы.
  13. В функции random(a) генерируем случайное число в диапазоне от 1 до a с помощью функции rand()%a.
  14. Возвращаем полученное случайное число в качестве результата работы функции.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы