Сортировка массива методом выбора - C (СИ)
Формулировка задачи:
Всем добрый вечер.Не успеваю решить все задачи Люди помогите
Как можно отсортирововать методом выбора?
#include <stdio.h> #include <locale.h> #define n 4 int main() { int a[n][n],i,j,min,min1; setlocale(LC_ALL, "Rus"); printf("Матрица\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) { a[i][j]=rand()%50; } printf("\n"); } for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%d ",a[i][j]); printf("\n"); } min=a[0][0]; for(i=0;i<n/2;i++) { for(j=0;j<n/2;j++) if(min>a[i][j]) min=a[i][j]; } for(i=n/2;i<n;i++) { for(j=n/2;j<n;j++) { if(min1>a[i][j]) min1=a[i][j]; } } if(min>min1) min=min1; printf("\nmin=%d",min); return 0; }
Решение задачи: «Сортировка массива методом выбора»
textual
Листинг программы
Var n,i,j,k:integer; a:array [1..100] of integer; begin write ('укажите, сколько дней длился поход:'); readln(n); write('задавайте высоту каждого дня:'); read(a[1]); k:=0; j:=0; for i:=2 to n do begin read (a[i]); if a [i-1]<a[i] then j:=j+1 else begin if j>k then k:=j; j:=0 end end; if j>k then writeln('максимальное количество удачных дней подряд', j:0) else writeln('максимальное количество удачных дней подряд*=', k:0) end.
Объяснение кода листинга программы
В этом коде сортируется массив из 100 целых чисел, представляющих собой высоты различных дней, по возрастанию. Затем код подсчитывает количество последовательных удачных (т.е. с возрастающей высотой) дней, используя технику метод выбора
.
Вот список действий, выполняемых в коде:
- Задаются начальные значения переменных:
n
- количество дней в походеi
- счётчик дней в циклеj
- счётчик количества удачных днейk
- счётчик максимального количества удачных днейa
- массив высот дней
- Пользователю предлагается ввести количество дней похода и начальную высоту первого дня.
- Цикл проходит по всем дням похода, за исключением первого (т.к. высота первого дня уже задана).
- В каждой итерации цикла считывается высота текущего дня.
- Если текущая высота меньше, чем высота предыдущего дня, то увеличивается счётчик
j
, который отслеживает количество удачных (с возрастающей высотой) дней. - Если
j
большеk
, то обновляется значениеk
как максимальное количество удачных дней. - Если
j
большеk
, то выводится сообщение с максимальным количеством удачных дней подряд. - Если
j
не большеk
, то сбрасывается счётчикj
в ноль. - Цикл завершается. Таким образом, в результате выполнения этого кода будет выведено максимальное количество удачных дней подряд.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д