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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
StudenFIU
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 56
#1

Отсортировать массив по возрастанию и вывести на экран - C++

01.11.2010, 17:55. Просмотров 2600. Ответов 1
Метки нет (Все метки)

Дан одномерный массив, состоящий из N вещественных элементов.
1. Заполнить массив случайными числами.
2. Найти минимальный отрицательный элемент.
3. Вычислить среднеарифметическое положительных элементов массива.
4. Вывести положительные элементы на экран.
5. Отсортировать массив по возрастанию и вывести на экран
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2010, 17:55     Отсортировать массив по возрастанию и вывести на экран
Посмотрите здесь:
C++ Заполнить массив рандом из 20 чисел, отсортировать по возрастанию и вывести на экран
Отсортировать по возрастанию и вывести на экран сперва чётные элементы вектора, а затем нечётные C++
Вывести массив, отсортировать по возрастанию, и определить содержится ли в нем хотя бы 2 одинаковых значения C++
Отсортировать массив по убыванию, затем добавить недостающий элемент и отсортировать массив по возрастанию C++
Отсортировать и вывести на экран массив структур C++
Прочитать из файла массив, отсортировать, результат вывести на экран. C++
Отсортировать массив по сумме баллов студентов и вывести на экран вместе с их фамилиями C++
C++ Выполнить пузырьковую сортировку массива по возрастанию и вывести исходный массив обработанный на экран
Отсортировать массив и вывести на экран (массивы и указатели на указатели) C++
C++ Отсортировать массив по возрастанию
Отсортировать массив по возрастанию C++
отсортировать массив по возрастанию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
01.11.2010, 19:00     Отсортировать массив по возрастанию и вывести на экран #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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void array_print(float *array, unsigned n)
{
    for (unsigned i = 0; i < n; ++i)
        printf("array[%d] = %f\n", i, array[i]);
}
 
void array_print_pos(float *array, unsigned n)
{
    for (unsigned i = 0; i < n; ++i)
        if (array[i] >= 0.0f)
            printf("array[%d] = %f\n", i, array[i]);
}
 
void array_fill(float *array, unsigned n)
{
    for (unsigned i = 0; i < n; ++i)
        array[i] = rand() - RAND_MAX / 2;
}
 
float array_min_neg(float *array, unsigned n)
{
    float min_neg = array[0];
 
    for (unsigned i = 1; i < n; ++i)
        if (array[i] < min_neg)
            min_neg = array[i];
 
    return min_neg;
}
 
float array_pos_mean(float *array, unsigned n)
{
    unsigned count = 0;
    float    sum   = 0.0f;
 
    for (unsigned i = 0; i < n; ++i)
    {
        if (array[i] >= 0.0f)
        {
            sum += array[i];
            ++count;
        }
    }
 
    return count > 0 ? sum / (float)count : 0;
}
 
inline void swapf(float &a, float &b)
{
    float c = a;
    a = b;
    b = c;
}
 
void array_sort(float *array, unsigned n)
{
    for (unsigned i = 0; i < n; ++i)
        for (unsigned j = n - 1; j > i; --j)
            if (array[i] > array[j])
                swapf(array[i], array[j]);
}
 
int main()
{
    const unsigned n = 10;
    float array[n] = {0.0f};
 
    srand(time(NULL));
 
    // 1. Заполнить массив случайными числами.
    array_fill(array, n);
 
    printf("array values:\n");
    array_print(array, n);
 
    // 2. Найти минимальный отрицательный элемент.
    printf("\nminimal negative value = %f\n", array_min_neg(array, n));
 
    // 3. Вычислить среднеарифметическое положительных элементов массива. 
    printf("\nmean of positive values = %f\n", array_pos_mean(array, n));
 
    // 4. Вывести положительные элементы на экран.
    printf("\npositive array values:\n");
    array_print_pos(array, n);
 
    // 5. Отсортировать массив по возрастанию и вывести на экран 
    array_sort(array, n);
    printf("\nsorted array values:\n");
    array_print(array, n);
 
    return 0;
}
Yandex
Объявления
01.11.2010, 19:00     Отсортировать массив по возрастанию и вывести на экран
Ответ Создать тему
Опции темы

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