Найти номер максимального элемента массива - C (СИ) (70268)

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

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

Подскажите пожалуйста как решить 2 задачки 1.как найти номер максимального элемента массива (массив рандомный) 2.найти суму элементов массива после первого позитивного элемента.

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

textual
Листинг программы
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
 
 
int main() {
    setlocale(LC_ALL,".1251");
    
    int index=1, max;
    const int n = 10;
        
    int arr[n];
    printf("Массив: \n");
    for (int i = 0; i < n; i++) {
 
        arr[i] = rand() % (rand() - rand()%100 + 1) + rand()%125;
        printf("%d ", arr[i]);
    }
    max = arr[0];
 
    for (int i = 1; i < n; i++) {
        if (max < arr[i]) {
            max = arr[i];
            index = i;
        }
    }
    printf("\nНомер максимального элемента массива : %d он находится в позиции %d\n", max, index+1);
    
    return 0;
}

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

В этом коде:

  1. #include Включается заголовочный файл, который содержит функции для ввода и вывода данных.
  2. #include Включается заголовочный файл, который содержит функции для работы с локалью.
  3. #include Включается заголовочный файл, который содержит функции для работы с памятью и для генерации случайных чисел.
  4. int main() { Функция main() является точкой входа в программу.
  5. setlocale(LC_ALL,.1251); Устанавливается локаль для ввода и вывода данных.
  6. int index=1, max; Переменная index инициализируется значением 1, а переменная max пока не имеет определенного значения.
  7. const int n = 10; Объявляется константа n, которая определяет размер массива.
  8. int arr[n]; Объявляется массив arr размером n.
  9. printf(Массив: \n); Выводится заголовок цикла.
  10. for (int i = 0; i < n; i++) { начинается цикл, который заполняет массив значениями.
  11. arr[i] = rand() % (rand() - rand()%100 + 1) + rand()%125; Генерируется случайное число и записывается в массив.
  12. printf(%d, arr[i]); Выводится значение элемента массива.
  13. max = arr[0]; Первый элемент массива присваивается переменной max.
  14. for (int i = 1; i < n; i++) { начинается цикл, который ищет максимальное значение в массиве.
  15. if (max < arr[i]) { Если текущий элемент больше значения max, то значение max обновляется.
  16. max = arr[i]; Сохраняется новое максимальное значение.
  17. index = i; Сохраняется номер элемента с максимальным значением.
  18. printf(\nНомер максимального элемента массива : %d он находится в позиции %d\n, max, index+1); Выводится результат.
  19. return 0; Конец функции main().
  20. } Конец цикла.

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


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

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

6   голосов , оценка 3.667 из 5
Похожие ответы