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

Линейная сортировка матрицы методом простого выбора

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

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

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

Не работает сортировка двумерного массива методом простого выбора
Написал программу сортировки двумерного массива методом простого выбора, но она работает не...

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

Сортировка столбцов матрицы с четной суммой элементов методом выбора
В матрице размером 7х11 упорядочить элементы столбцов с четной суммой элементов по возрастанию...

Реализовать алгоритм сортировки модифицированным методом простого выбора
Реализовать алгоритм сортировки модифицированным методом простого выбора.

1
stake-k26
676 / 467 / 355
Регистрация: 25.04.2016
Сообщений: 1,333
07.06.2018, 16:48 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;
 
    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, 16:48

Отсортировать последовательность по убыванию модифицированным методом простого выбора
Расположить положительные элементы последовательности по убыванию модифицированным методом простого...

Реализовать алгоритм сортировки модифицированным методом простого выбора
Реализовать алгоритм сортировки модифицированным методом простого выбора.

Сортировка методом выбора
Что-то не получается... Может быть сделаете замечания? Или посмотрите на строчки начиная с комента...


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

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

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