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

Составить программу сортировки линейной целочисленной матрицы

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

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

Составить программу поиска минимального и максимального значений линейной целочисленной матрицы, состоящей из n элем
Составить программу поиска минимального и максимального значений линейной...

Составить алгоритм и программу сортировки элементов
Составить алгоритм и программу сортировки элементов двумерного квадратного...

Составить программу для ввода матрицы
Составить программу для ввода матрицы . Определить и вывести номера i, j всех...

Составить программу обработки матрицы с использованием функций
Составить программу обработки матрицы с использованием функций. Каждый пункт...

Составить программу на языке Си автоматического заполнения матрицы М
Составить программу (на языке Си) автоматического заполнения матрицы М,...

1
stake-k26
538 / 411 / 323
Регистрация: 25.04.2016
Сообщений: 1,191
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
37
38
39
40
41
42
43
44
#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, p, i;
    printf("n = "); scanf("%d", &n);
    printf("a = "); scanf("%d", &a);
    printf("b = "); scanf("%d", &b);
    if (n<1 || a>b) exit(EXIT_FAILURE);
    p = 2*n;
    b = ++b-a;
 
    int *z = (int*)malloc(p*sizeof(int));
    if (z == NULL) exit(EXIT_FAILURE);
 
    for (i=0; i<p; 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=n; i<p; i++)
    {
        for (m=k=i; k<p; k++)
            if (z[k]>z[m]) m=k;
        if (z[i] != z[m])
            swap(&z[i], &z[m]);
    }
    for(i=0; i<p; 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

Составить программу автоматического заполнения матрицы следующего вида
Составить программу автоматического заполнения матрицы следующего вида (5;2;2)...

Составить программу умножения квадратной матрицы n*n на n-мерный вектор
Составить программу умножения квадратной матрицы n*n на n-мерный вектор

Составить программу вычисления среднего арифметичкского каждой строки матрицы
Составить программу вычисления среднего арифметичкского каждой строки матрицы...


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

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

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