Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tsuna_Savada
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 39
#1

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

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

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

Получить массив нечетных чисел и отсортировать его по возрастанию методом выбора - C++
массив из N целых чисел. Получить из него массив нечетных чисел и отсортировать его по возрастанию методом выбора. Найти повторяющиеся...

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

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

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

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

Отсортировать массив чисел методом пузырька - C++
помогите пожалуйста!!!! отсортировать массив чисел методом пузырька чтобы числа были не заданы ,а вводились пользователем(n-ое...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
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
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
06.06.2013, 00:53 #3
Tsuna_Savada, что конкретно вам не понятно? Для компиляции и "абы сдать" достаточно лишь добавить приведение памяти, выделяемой malloc к конкретному типу.
И убрать лишние массивы и действия. Вроде бы там названия интуитивно понятные у функций
Tsuna_Savada
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 39
06.06.2013, 00:58  [ТС] #4
Цитата Сообщение от MrGluck Посмотреть сообщение
Tsuna_Savada, что конкретно вам не понятно? Для компиляции и "абы сдать" достаточно лишь добавить приведение памяти, выделяемой malloc к конкретному типу.
И убрать лишние массивы и действия. Вроде бы там названия интуитивно понятные у функций
Посмотрел внимательнее. Думаю что сам уберу лишние массивы =)
Спасибо

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

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

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

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

Дан одномерный массив А, состоящий из N элементов. Отсортировать все его элементы улучшенным методом пузырька - C++
Дан одномерный массив А, состоящий из N элементов. Отсортировать все его элементы улучшенным методом пузырька

Отсортировать по возрастанию массив 10 целых чисел методом выбора - C++
Опишите алгоритм решения задач на языке программирования C ++. Отсортировать по возрастанию массив 10 целых чисел методом выбора.

Отсортировать по возрастанию массив 10 целых чисел методом выбора - C++
Привет всем, помогите пожалуйста подготовиться к экзамену по информитикы !! 1. Задача. Отсортировать по возрастанию массив 10 целых...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.06.2013, 00:59
Ответ Создать тему
Опции темы

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