Вычислить номер максимального элемента массива - 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;
}

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

  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
Похожие ответы