Преобразовать массив, умножив все его элементы на минимальный элемент - C (СИ)
Формулировка задачи:
Дан целочисленный массив, состоящий из n элементов. Преобразовать
его, умножив все его элементы на минимальный элемент. Минимальный
элемент массива не изменять.
Решение задачи: «Преобразовать массив, умножив все его элементы на минимальный элемент»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #define N 5 int main(){ int arr[N], min, i;/*массив, мин число, индекс*/ printf("Enter a numbers: "); for (i = 0; i < N; i++)/*луп для ввода*/ scanf("%d", &arr[i]); min = arr[0];/*допустим что первое число в массиве самое мелкое*/ for (i = 1; i < N; i++){/*луп для поиска мин числа*/ if (min>arr[i]) min = arr[i]; } for (i = 0; i < N; i++)/*луп умножения на мин число*/ arr[i] = arr[i] * min; for (i = 0; i < N; i++)/*вывод на экран*/ printf("%d ", arr[i]); printf("\n"); return 0; }
Объяснение кода листинга программы
- Предупреждение:
#define _CRT_SECURE_NO_WARNINGS
- Включение файла:
#include<stdio.h>
- Определение размера массива:
#define N 5
- Объявление переменных:
int arr[N]
- массив целых чисел, размер которого определяется в строке#define N 5
min
- минимальное числоi
- индекс
- Вывод сообщения и запрос ввода:
printf(
Enter a numbers:)
- вывод сообщенияfor (i = 0; i < N; i++)/*луп для ввода*/
- цикл для получения ввода от пользователяscanf(
%d, &arr[i])
- получение ввода в виде целого числа и сохранение его в массиве
- Установка начального значения минимального числа:
min = arr[0];
- первое число в массиве устанавливается как минимальное
- Поиск минимального числа:
for (i = 1; i < N; i++)/*луп для поиска мин числа*/
- цикл для сравнения каждого числа в массиве с текущим минимальным числомif (min>arr[i])
- если текущее число меньше минимального, то оно становится новым минимальным числомmin = arr[i];
- обновление значения минимального числа
- Умножение каждого числа в массиве на минимальное число:
for (i = 0; i < N; i++)/*луп умножения на мин число*/
- цикл для перебора каждого числа в массивеarr[i] = arr[i] * min;
- умножение текущего числа в массиве на минимальное число
- Вывод результатов на экран:
for (i = 0; i < N; i++)/*вывод на экран*/
- цикл для вывода каждого числа в массивеprintf(
%d, arr[i]);
- вывод числа в массив на экран, с добавлением пробела после числа
- Завершение программы:
return 0;
- завершение работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д