Найти номер максимального элемента массива - 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;
}
Объяснение кода листинга программы
В этом коде:
- #include
Включается заголовочный файл, который содержит функции для ввода и вывода данных. - #include
Включается заголовочный файл, который содержит функции для работы с локалью. - #include
Включается заголовочный файл, который содержит функции для работы с памятью и для генерации случайных чисел. - int main() { Функция main() является точкой входа в программу.
- setlocale(LC_ALL,
.1251); Устанавливается локаль для ввода и вывода данных. - int index=1, max; Переменная index инициализируется значением 1, а переменная max пока не имеет определенного значения.
- const int n = 10; Объявляется константа n, которая определяет размер массива.
- int arr[n]; Объявляется массив 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]; Первый элемент массива присваивается переменной max.
- for (int i = 1; i < n; i++) { начинается цикл, который ищет максимальное значение в массиве.
- if (max < arr[i]) { Если текущий элемент больше значения max, то значение max обновляется.
- max = arr[i]; Сохраняется новое максимальное значение.
- index = i; Сохраняется номер элемента с максимальным значением.
- printf(
\nНомер максимального элемента массива : %d он находится в позиции %d\n, max, index+1); Выводится результат. - return 0; Конец функции main().
- } Конец цикла.