Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.07.2018
Сообщений: 2
1

Массив: Преобразовать массив так, чтобы сначала шли элементы, модуль которых не превышает 1, а потом - остальные...

05.07.2018, 19:38. Показов 1152. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Преобразовать массив таким образом, чтобы сначала располагались, все элементы, модуль которых не превышает 1, а потом – все остальные. Использовать функцию для преобразования массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2018, 19:38
Ответы с готовыми решениями:

Упорядочить элементы массива, располагая сначала элементы, модуль которых не превышает 5, а потом – все остальные
Составить программу, формирующую одномерный массив, состоящий из N целых элементов. Вычислить сумму...

Отсортировать массив так, чтобы в нем сначала шли буквы латинского алфавита, затем цифры и, в конце, остальные элементы
Задан символьный массив размера N. Отсортировать массив так, чтобы в нем сначала шли буквы...

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

Преобразовать массив так, чтобы сначала располагались все элементы, равные нулю, а затем все остальные
Дан одномерный массив состоящий из n вещественных элементов.Преобразовать массив таким образом,что...

1
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
06.07.2018, 10:45 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
#include <stdio.h>
#include <math.h>
#include <stdint.h>
#define NUM 10
void* partition(void* arr, size_t num, size_t size, int (*cmp)(const void*));
 
static int d_cmp(const void* arg){ 
    return (fabs(*(double*)arg) <= 1.0); 
}
 
static int i_cmp(const void* arg){ 
    return (abs(*(int*)arg) <= 1);
}
 
int main(void){
    size_t i;
    double a[NUM] = { 0.1, 7.3, -0.8, 0.2, 3.3, -0.3, 5.8, 0.99, 4.5, 0.9 };
    int    b[NUM] = { 7, 1, 0, 2, 3, 4, -1, 0, 9, 1 };
 
    partition(a, NUM, sizeof(a[0]), &d_cmp);
    for(i = 0; i < NUM; ++i)
        printf("%lg ", a[i]);
    puts("");
 
    partition(b, NUM, sizeof(b[0]), &i_cmp);
    for(i = 0; i < NUM; ++i)
        printf("%d ", b[i]);
    getchar();
    return 0;
}
 
void* partition(void* arr, size_t num, size_t size, int (*cmp)(const void*)){
    size_t  j;
    int8_t* p, *e, *i, b;
    p = (int8_t*)arr;
    e = p + (num * size);
 
    while((p < e) && (*cmp)((const void*)p))
        p += size;
 
    i = p;
    while(p < e){
        if((*cmp)((const void*)p)){
            for(j = 0; j < size; ++j, ++i){
                b = *(p + j);
                *(p + j) = *i;
                *i = b;
            }
        }
        p += size;
    }
    return (void*)i;
}
1
06.07.2018, 10:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2018, 10:45
Помогаю со студенческими работами здесь

Отсортировать массив так, чтобы сначала в нем шли нулевые элементы, затем положительные
Задан целочисленный массив размера N. Отсортировать массив так, чтобы сначала в нем шли нулевые,...

Преобразовать одномерный массив так, чтобы сначала располагались числа в интервале, а затем все остальные
1. Преобразовать одномерный массив таким образом, чтобы сначала располагались все элементы, целая...

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

Преобразовать массив так, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%
Доброго времени суток! Помогите плиз с одним из пунктов задачи! Преобразовать массив таким...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru