Мин к первому, макс - мое число. Как сделать? - C (СИ)
Формулировка задачи:
Нужна ваша помощь. Не могу сделать так, чтобы минимальное число присваивалось первому элементу, а вместо максимального записывалось мое число.
#include<stdio.h> int main() { int i = 10, j, min, imax; int a[] = { 2,6,-7,3,-4,-11,23,54,7,6 }; for (j = 0; j < i; j++) printf("%d ", a[j]); printf("\n"); min = a[0]; for (j = 0; j<i; ++j) if (min < a[j]) { min = a[j]; imax = j; } a[imax] = 99999; a[i - 10] = min; for (j = 0; j < i; j++) printf("%d ", a[j]); printf("\n"); getchar(); }
Решение задачи: «Мин к первому, макс - мое число. Как сделать?»
textual
Листинг программы
#include <stdio.h> int main() { int i = 10, j, min, max, imax; int a[] = { 2,6,-7,3,-4,-11,23,54,7,6 }; for (j = 0; j < i; j++) printf("%d ", a[j]); printf("\n"); min = a[0]; max = a[0]; for(j = 0; j < i; ++j) { if(max < a[j]){ max = a[j]; imax = j; } if (min > a[j]) min = a[j]; } a[imax] = 99999; a[i - 10] = min; for (j = 0; j < i; j++) printf("%d ", a[j]); printf("\n"); return 0; }
Объяснение кода листинга программы
- Объявлены переменные:
- i = 10 (счетчик циклов)
- j = 0 (номер элемента в массиве)
- min = a[0] (минимальное значение в массиве)
- max = a[0] (максимальное значение в массиве)
- imax = 0 (номер максимального элемента в массиве)
- a[] = {2,6,-7,3,-4,-11,23,54,7,6} (массив чисел)
- Выводится первый элемент массива.
- В цикле перебираются элементы массива.
- Если текущий элемент больше максимального, то обновляются значения max и imax.
- Если текущий элемент меньше минимального, то обновляется значение min.
- Последний элемент заменяется на 99999.
- Первый элемент заменяется на минимальное значение.
- Выводится весь массив.
- Возвращается 0, заканчивая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д