Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
артем36
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 59
1

Сортировка матрицы по убыванию методом простых обменов

07.06.2018, 14:31. Просмотров 705. Ответов 1
Метки нет (Все метки)

Даны целые числа a, b и n. Составить программу сортировки линейной целочисленной матрицы, состоящей из n элементов из интервала [a;b], по убыванию методом простых обменов.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2018, 14:31
Ответы с готовыми решениями:

Сортировка боковой диагонали матрицы методом выбора по убыванию
Всем привет. Помогите пожалуйста разобраться, мне нужно отсортировать боковую...

Сортировка по убыванию (методом пузырька)
Задание: добавить сортировку слов по убыванию (по методу пузырька). #include...

Сортировка по убыванию методом пузырька
Добрый вечер! Очень нужна помощь. Задание такое: даны два массива. Массив А...

Сортировка методом простого выбора по убыванию
Подскажите, подойдет ли эта функция для сортировке методом просто выбора по...

Сортировка по убыванию методом бинарной вставки
Есть у кого нибудь готовый код сортировки по убыванию методом бинарной вставки?...

1
stake-k26
541 / 413 / 324
Регистрация: 25.04.2016
Сообщений: 1,197
07.06.2018, 17:21 2
Лучший ответ Сообщение было отмечено артем36 как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void swap (int *x, int *y) { int z = *x; *x = *y; *y = z; }
 
int main (void)
{
    srand((unsigned int)time(NULL)/2);
    int a, b, n, i;
    printf("n = "); scanf("%d", &n);
    printf("a = "); scanf("%d", &a);
    printf("b = "); scanf("%d", &b);
    if (n<1 || a>=b) exit(EXIT_FAILURE);
    b = b-a+1;
 
    int *z = (int*)malloc(n*sizeof(int));
    if (z == NULL) exit(EXIT_FAILURE);
 
    for (i=0; i<n; i++)
        printf("%4d", z[i] = a + rand() %b);
    printf("\n\n");
    int k, m;
    for (i=0; i<n; i++)
    {
        for (m=k=i; k<n; k++)
            if (z[k]>z[m]) m=k;
        if (z[i] != z[m])
            swap(&z[i], &z[m]);
    }
    for(i=0; i<n; i++)
        printf("%4d", z[i]);
    printf("\n");
 
    free(z);
    exit(EXIT_SUCCESS);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2018, 17:21

Сортировка массива по убыванию методом вставки
Определить массив из 50 вещественных чисел: x = 10*Cos( i/10), i= 1, 2, . . ....

Сортировка методом пузырька по возрастанию или убыванию
Здравствуйте, Задали задачку, не могу додуматься уже неделю. Вообщем,...

Сортировка побочной диагонали матрицы по убыванию
Подскажите как отсортировать в матрице 25х25 побочную диагональ по элементу по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru