Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
1 / 1 / 1
Регистрация: 18.01.2013
Сообщений: 10
1

Сортировка четных элементов массива по возрастанию, а нечетных-по убыванию

19.01.2013, 14:49. Просмотров 3771. Ответов 1
Метки нет (Все метки)

Задача в общем такая: Дан целочисленный массив.Отсортировать его четные элементы по возрастанию, а не чётные по убыванию

Добавлено через 4 минуты
В набросках имею вот это.в чём подвох не пойму))просветите)

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
45
46
47
48
49
50
51
52
#include <stdio.h>
 
 
 
void SortArray(int *arr,int *razmer)
{
        int k=*razmer-1,p=*razmer-2;
        if((*razmer%2)==0)
        {
                k=*razmer-2;
                p=*razmer-1;
        }
        for (int i=0;i<*razmer-2;i+=2)
                for(int j=k;j>i;j-=2)
                    if(arr[j]>arr[j-2])
                        {
                                int c=arr[j];
                                arr[j]=arr[j-2];
                                arr[j-2]=c;
                        }
        for (int i=1;i<*razmer-2;i+=2)
                for(int j=p;j>i;j-=2)
                    if(arr[j]<arr[j-2])
                        {
                                int c=arr[j];
                                arr[j]=arr[j-2];
                                arr[j-2]=c;
                        }
 
 
 
 
}
 
 
 
 
int main(int argc, char *argv[])
{
    int n;
        printf ("Vvedite razmer matrici: ");
        scanf("%d",&n);
        int a[n];
        printf ("Vvedite razmer matrici: \n");
        for (int i=0;i<n;i++)
                scanf("%d",&a[i]);
        SortArray(a, &n);
        for (int i=0;i<n;i++)
                printf ("%3d",a[i]);
 
    return 0;
}
Добавлено через 3 минуты
Вот вроде так.если есть ошибки отпишите пожалуйста
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
45
46
47
48
49
50
51
52
#include <stdio.h>
 
 
 
void SortArray(int *arr,int *razmer)
{
        int k=*razmer-1,p=*razmer-2;
        if((*razmer%2)==0)
        {
                k=*razmer-2;
                p=*razmer-1;
        }
        for (int i=0;i<*razmer-2;i+=2)
                for(int j=k;j>i;j-=2)
                    if(arr[j]<arr[j-2])
                        {
                                int c=arr[j];
                                arr[j]=arr[j-2];
                                arr[j-2]=c;
                        }
        for (int i=1;i<*razmer-2;i+=2)
                for(int j=p;j>i;j-=2)
                    if(arr[j]>arr[j-2])
                        {
                                int c=arr[j];
                                arr[j]=arr[j-2];
                                arr[j-2]=c;
                        }
 
 
 
 
}
 
 
 
 
int main(int argc, char *argv[])
{
    int n;
        printf ("Vvedite razmer matrici: ");
        scanf("%d",&n);
        int a[n];
        printf ("Vvedite razmer matrici: \n");
        for (int i=0;i<n;i++)
                scanf("%d",&a[i]);
        SortArray(a, &n);
        for (int i=0;i<n;i++)
                printf ("%3d",a[i]);
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2013, 14:49
Ответы с готовыми решениями:

Сортировка четных столбцов матрицы по убыванию элементов, а нечетных - по возрастанию
Дана матрица, размерностью nxn, содержащая целые числа. Отсортировать каждый столбец матрицы с...

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

Сортировка четных строк матрицы по возрастанию, а нечетных - по убыванию
Здравствуйте! Есть задача: отсортировать чётные строки массива А по возрастанию, а нечётные по...

Cортировка чётных строк массива по возрастанию, а нечетных столбцов - по убыванию
Помогите решить задачу в Delphi Задача Дана массив (n, m). С начало сделать сортировку чётных...

1
213 / 202 / 85
Регистрация: 09.05.2012
Сообщений: 494
21.01.2013, 03:42 2
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <time.h>
 
int* createRandomArray(int);
void sortArray(int*, int);
void showArray(int*, int);
void swap(int*, int*);
 
int main() {
    int n;
    printf("Enter n:"); scanf("%d", &n);
    
    srand(time(0));
    int* arr = createRandomArray(n);
    
    showArray(arr, n);
    printf("\n");
    
    sortArray(arr, n);
    showArray(arr, n);
    
    free(arr);
    return 0;
}
 
int* createRandomArray(int n){
    int* a = (int*)calloc(n, sizeof(int));
    while(n--){
        a[n] = rand() % 10;
    }
    return a;
}
 
void showArray(int* a, int n){
    int i;
    for(i = 0; i < n; i++){
        printf("%d ", a[i]);
    }
}
 
void swap(int* x, int* y){
    int t = *x;
    *x = *y;
    *y = t;
}
 
void sortArray(int* a, int n){
    int i, j;
    for(i = 0; i < n - 1; i++){
        for(j = i + 1; j < n; j++){
            if(i % 2 == 0 && j % 2 == 0){
                if(a[i] < a[j]){
                    swap(&a[i], &a[j]);
                }
            }
            if(i % 2 == 1 && j % 2 == 1){
                if(a[i] > a[j]){
                    swap(&a[i], &a[j]);
                }
            }
        }
    }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2013, 03:42

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

Элементы массива на четных позициях отсортировать по возрастанию, а на нечетных – по убыванию
вот задание: Составить программу для сортировки массива размерностью элементов целого типа...

Элементы массива с нечетных позиций необходимо отсортировать по возрастанию, с четных - по убыванию
Значит есть одномерный массив из 10 чисел. Заполнен случайными значениями. Числа расположенные на...

Упорядочить элементы массива - для четных вариантов — по возрастанию, для нечетных по убыванию
Помогите люди добрые! Не могу никак допереть как написать код. Упорядочить элементы массива(для...

Сортировка нечетных элементов массива по убыванию
По убыванию нечетных элементов массива


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

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

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