Сортировка массива методом выбора - 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 целых чисел, представляющих собой высоты различных дней, по возрастанию. Затем код подсчитывает количество последовательных удачных (т.е. с возрастающей высотой) дней, используя технику метод выбора. Вот список действий, выполняемых в коде:

  1. Задаются начальные значения переменных:
    • n - количество дней в походе
    • i - счётчик дней в цикле
    • j - счётчик количества удачных дней
    • k - счётчик максимального количества удачных дней
    • a - массив высот дней
  2. Пользователю предлагается ввести количество дней похода и начальную высоту первого дня.
  3. Цикл проходит по всем дням похода, за исключением первого (т.к. высота первого дня уже задана).
  4. В каждой итерации цикла считывается высота текущего дня.
  5. Если текущая высота меньше, чем высота предыдущего дня, то увеличивается счётчик j, который отслеживает количество удачных (с возрастающей высотой) дней.
  6. Если j больше k, то обновляется значение k как максимальное количество удачных дней.
  7. Если j больше k, то выводится сообщение с максимальным количеством удачных дней подряд.
  8. Если j не больше k, то сбрасывается счётчик j в ноль.
  9. Цикл завершается. Таким образом, в результате выполнения этого кода будет выведено максимальное количество удачных дней подряд.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы