Составить программу определения первого максимального элемента массива - C (СИ)
Формулировка задачи:
Одномерный массив А длиной N<=20 заполнить случайными числами из диапазона [–10..55]. Составить программу определения:
• первого максимального элемента массива;
• количество максимальных элементов в массиве;
• всех элементов, кратных 3-м или 5-и.
Помогите, пожалуйста.
Решение задачи: «Составить программу определения первого максимального элемента массива»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <time.h>
int main() {
srand(time(NULL));
setlocale(0,"rus");
int N = 0;
int Max;
int counter = 0;
int max_elements_counter = 0;
int elements[20];
puts("Введите размер массива");
scanf("%d", &N);
while(N > 20 || N < 0) {
puts("Ошибочный ввод");
scanf("%d", &N);
}
int *mas = (int*)malloc(N);
for(int i=0; i<N; i++) {
mas[i] = -10 + rand()%(56-(-10));
}
Max = mas[0];
for(int i=0; i<N; i++) {
if(Max < mas[i]) Max = mas[i];
if(mas[i]%3 == 0 || mas[i]%5 == 0) elements[counter++] = mas[i];
}
for(int i=0; i<N; i++)
if(Max == mas[i]) max_elements_counter++;
printf("Максимальный элемент массива: %d\n", Max);
printf("Количество максимальных элементов в массиве: %d\n", max_elements_counter);
printf("Элементы кратны 3-м или 5-и: ");
for(int i=0; i<counter; i++) printf("%d, ", elements[i]);
printf("\n");
system("pause");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Инициализируем начальные значения переменных
- Запрашиваем у пользователя размер массива и проверяем корректность ввода
- Выделяем память под массив с помощью malloc
- Генерируем случайные значения для элементов массива
- Инициализируем первый элемент массива как максимальный
- Проходим по всем элементам массива и обновляем значение максимального элемента при необходимости
- Проходим по элементам массива и добавляем элементы, кратные 3 или 5, в отдельный массив
- Считаем количество максимальных элементов в массиве
- Выводим максимальный элемент массива
- Выводим количество максимальных элементов в массиве
- Выводим элементы массива, кратные 3 или 5
- Используем system(
pause) для приостановки работы программы до нажатия клавиши - Возвращаем 0, чтобы указать, что программа успешно завершилась