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

Получить из исходного массив положительных чисел и отсортировать его по возрастанию методом пузырька

06.06.2013, 00:11. Просмотров 654. Ответов 4
Метки нет (Все метки)

2. Дан массив N целых чисел. Получить из него массив положительных чисел и отсортировать его по возрастанию методом пузырька
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2013, 00:11
Ответы с готовыми решениями:

Получить массив нечетных чисел и отсортировать его по возрастанию методом выбора
массив из N целых чисел. Получить из него массив нечетных чисел и...

Получить из исходного массива массив отрицательных чисел и отсортировать его по убыванию методом выбора
Дан массив из N целых чисел. Получить из него массив отрицательных чисел и...

Дан массив из N целых чисел. Отсортировать его по убыванию элементов методом пузырька
Дан массив из N целых чисел. Отсортировать его по убыванию элементов методом...

Как отсортировать двумерный массив по возрастанию методом пузырька?
Напишите пожалуйста код. Нигде не могу найти(

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка),...

4
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,395
06.06.2013, 00:40 2
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/* Сформировать массив A. Из отрицательных элементов массива А сформировать
массив Р. Из положительных элементов массива А сформировать массив N. Вывести
все массивы на экран. Для каждого массива найти max и min элементы.
Использовать функции. */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 20
 
void generate(int *, const size_t);
void print(const int *, const size_t);
size_t countPos(const int *, const size_t);
void sortOut(const int *, const size_t, int *, int *);
int min(const int *, const size_t);
int max(const int *, const size_t);
 
 
int main(void)
{
    int A[SIZE], *P, *N, sizeP, sizeN;
    srand(time(NULL));
    
    generate(A, SIZE);
    sizeP = countPos(A, SIZE);
    sizeN = SIZE - sizeP;
    P = malloc(sizeof(int) * sizeP);
    N = malloc(sizeof(int) * sizeN);
    
    sortOut(A, SIZE, P, N);
    
    printf("A: ");
    print(A, SIZE);
    printf("Min: %d\nMax: %d\n", min(A, SIZE), max(A, SIZE));
    
    printf("\nP: ");
    print(P, sizeP);
    printf("Min: %d\nMax: %d\n", min(P, sizeP), max(P, sizeP));
    
    printf("\nN: ");
    print(N, sizeN);
    printf("Min: %d\nMax: %d\n", min(N, sizeN), max(N, sizeN));
    
    free(P);
    free(N);
    
    return 0;
}
 
void generate(int *arr, const size_t size)
{
    size_t i;
    for (i=0; i < size; i++)
        arr[i] = -100 + rand() % 201;
}
 
void print(const int *arr, const size_t size)
{
    size_t i;
    for (i=0; i < size; i++)
        printf("%d ", arr[i]);
    printf("\n");
}
 
size_t countPos(const int *arr, const size_t size)
{
    size_t i, counter = 0;
    for (i=0; i < size; i++)
        if (arr[i] >= 0)
            ++counter;
    
    return counter;
}
 
void sortOut(const int *arr1, const size_t size1, int *arr2, int *arr3)
{
    size_t i, indexP = 0, indexN = 0;
    for (i=0; i < size1; i++)
        arr1[i] >= 0 ? (arr2[indexP++] = arr1[i]) : (arr3[indexN++] = arr1[i]);
}
 
int min(const int *arr, const size_t size)
{
    size_t i;
    int min = arr[0];
    for (i=1; i < size; i++)
        if (arr[i] < min)
            min = arr[i];
    
    return min;
}
 
int max(const int *arr, const size_t size)
{
    size_t i;
    int max = arr[0];
    for (i=1; i < size; i++)
        if (arr[i] > max)
            max = arr[i];
    
    return max;
}
Добавлено через 13 секунд
Переделать сами сможете, я думаю.

Добавлено через 1 минуту
Или я выдам решение через вектора, ГСЧ и алгоритмы из STL
1
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,395
06.06.2013, 00:53 3
Tsuna_Savada, что конкретно вам не понятно? Для компиляции и "абы сдать" достаточно лишь добавить приведение памяти, выделяемой malloc к конкретному типу.
И убрать лишние массивы и действия. Вроде бы там названия интуитивно понятные у функций
0
Tsuna_Savada
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 39
06.06.2013, 00:58  [ТС] 4
Цитата Сообщение от MrGluck Посмотреть сообщение
Tsuna_Savada, что конкретно вам не понятно? Для компиляции и "абы сдать" достаточно лишь добавить приведение памяти, выделяемой malloc к конкретному типу.
И убрать лишние массивы и действия. Вроде бы там названия интуитивно понятные у функций
Посмотрел внимательнее. Думаю что сам уберу лишние массивы =)
Спасибо

Добавлено через 2 минуты
Спасибо всем =)
0
Tsuna_Savada
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 39
06.06.2013, 00:59  [ТС] 5
Цитата Сообщение от MrGluck Посмотреть сообщение
2. Из отрицательных элементов массива А сформировать массив Р
Добавлено через 13 секунд
Переделать сами сможете, я думаю.

Добавлено через 1 минуту
Или я выдам решение через вектора, ГСЧ и алгоритмы из STL
Сомневаюсь что мой ум позволит самому переделать.
Буду очень очень благодарен за "такую" помощь =)

Добавлено через 15 минут
Спасибо =)
0
06.06.2013, 00:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2013, 00:59

Отсортировать массив чисел методом пузырька
помогите пожалуйста!!!! отсортировать массив чисел методом пузырька чтобы...

Отсортировать одномерный массив действительных чисел методом пузырька (по убыванию)
Отсортировать одномерный массив действительных чисел методом пузырька (по...

Отсортировать массив по возрастанию методом "пузырька"
Написать программу работы с одномерным массивом из 15 вещественных элементов...


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

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

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