Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 31

Функция которая считает количество элементов больших 50

03.04.2020, 21:27. Показов 3417. Ответов 34

Студворк — интернет-сервис помощи студентам
1. Написать программу, в которой будут реализованы следующие функции:
a. Создание динамического массива
b. Сортировка массива
c. Функция, которая считает кол-во элементов больших 50 и из них формируется еще один динамический массив
d. Удаления массива
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.04.2020, 21:27
Ответы с готовыми решениями:

Функция,которая считает количество элементов в списке, больших 10
Помогите пожалуйста

Функция, которая считает количество слов палиндромов
Здравствуйте. Помогите пожалуйста. на C++ Написать функцию, которая считает количество слов палиндромов в символьной строке

Написать программу, которая считает количество элементов во втором предложении
Написать программу,которая считает количество элементов во втором предложении

34
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
04.04.2020, 07:38
Цитата Сообщение от CrazyFreshGuy Посмотреть сообщение
a. Создание динамического массива
Чего и каким образом?
И это только для начала.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
04.04.2020, 10:20
CrazyFreshGuy, а вернитесь-ка к теме в разделе ВАЖНЫЕ
Образцы (шаблоны) программ для типовых задач
Прочитайте ее еще раз и попробуйте на ее основе сделать Вашу задачу.
Если не получится, то выкладывайте сюда код.
0
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 31
04.04.2020, 11:31  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
CrazyFreshGuy, а вернитесь-ка к теме в разделе ВАЖНЫЕ
Образцы (шаблоны) программ для типовых задач
Прочитайте ее еще раз и попробуйте на ее основе сделать Вашу задачу.
Если не получится, то выкладывайте сюда код.
Смотрите, счетчик то я сделал, а вот из чисел больше 50 старого массива сформировать новый я не знаю как.

Добавлено через 3 минуты
Цитата Сообщение от Argus19 Посмотреть сообщение
Чего и каким образом?
И это только для начала.
Создание динамического одномерного массива.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
04.04.2020, 11:45
Цитата Сообщение от CrazyFreshGuy Посмотреть сообщение
Создание динамического одномерного массива.
чего? Как я смутно понимаю, массив чисел, а не символов или строк. Если чисел, то каких? Целых, вещественных или ещё каких? Так же нужно указать, каким образом его заполнять, вводя значения элементов с клавиатуры, присваивая значения элементам при инициализации или случайным образом?
Задача не сложная. Надо только её уточнить.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
04.04.2020, 12:07
CrazyFreshGuy, Ну почему у Вас такая лень
Вот он образец
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
#include <iostream>
//#include <clocale>
#include <cstdlib>
using namespace std;
//----- объявление прототипов используемых функций----------------------------------------
void Input(int* M,int n);  // ввод массива
void Print(int* M,int n);   // вывод массива
void RandomFill(int* M,int n);   // заполнение массива случайными числами
//--------------------------------------------------------------------------
int Work(int* M,int n);   // пример обработки массива
int Work2(int* M,int n,int* Res); // выбор элементов value>50
//   Сюда добавить протопипы тех функций которые дополнительно напишете
//--------------------------------------------------------------------------
 
//----------  main() -  точка входа в программу консольного приложения 
int main()
{
    //setlocale(LC_ALL,"Rus");
    int n;
    cout<<"Размер вектора?";
    cin>>n;
    int* A=new int[n];
    //Input(A,n);
    RandomFill(A,n);
    Print(A,n); 
    //int s=Work(A,n);
    //cout<<"Summa = " << s<< endl;
//---------------вставленный кусок  -----------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    int* B=new int[n];
    int nb=Work2(A,n,B);
    Print(B,nb); 
    delete[] B;
//----------------------------------------------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    delete[] A;
    //system("pause");
    return 0;
}
//----   описание функций -----------------------------------------
// ввод массива
void Input(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"M["<<i<<"]=?";
            cin >> M[i];
    }
}
// заполнение случайными числами
void RandomFill(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        M[i]=rand()%100;
    }
}
  // вывод массива
void Print(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout << M[i]<< " ";
    }
    cout << endl;
}
// пример обработки - подсчет суммы элементов
int Work(int* M,int n)
{
    int sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=M[i];
    }
    return sum;
}
// сюда вставить все дополнительные функции которые напишете
// пример обработки // выбор элементов value>50
int Work2(int* M,int n,int* Res)
{
    int s=0;
    for(int i=0;i<n;i++)
    {
        if(M[i]>50)
           res[s++]=M[i];
    }
    return s;
}
Как видите, в main вставлено всего 4 строчки, ну а функция подсчета отличается от примера всего ДВУМЯ строками
0
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 31
04.04.2020, 12:26  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
CrazyFreshGuy, Ну почему у Вас такая лень
Вот он образец
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
#include <iostream>
//#include <clocale>
#include <cstdlib>
using namespace std;
//----- объявление прототипов используемых функций----------------------------------------
void Input(int* M,int n);  // ввод массива
void Print(int* M,int n);   // вывод массива
void RandomFill(int* M,int n);   // заполнение массива случайными числами
//--------------------------------------------------------------------------
int Work(int* M,int n);   // пример обработки массива
int Work2(int* M,int n,int* Res); // выбор элементов value>50
//   Сюда добавить протопипы тех функций которые дополнительно напишете
//--------------------------------------------------------------------------
 
//----------  main() -  точка входа в программу консольного приложения 
int main()
{
    //setlocale(LC_ALL,"Rus");
    int n;
    cout<<"Размер вектора?";
    cin>>n;
    int* A=new int[n];
    //Input(A,n);
    RandomFill(A,n);
    Print(A,n); 
    //int s=Work(A,n);
    //cout<<"Summa = " << s<< endl;
//---------------вставленный кусок  -----------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    int* B=new int[n];
    int nb=Work2(A,n,B);
    Print(B,nb); 
    delete[] B;
//----------------------------------------------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    delete[] A;
    //system("pause");
    return 0;
}
//----   описание функций -----------------------------------------
// ввод массива
void Input(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"M["<<i<<"]=?";
            cin >> M[i];
    }
}
// заполнение случайными числами
void RandomFill(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        M[i]=rand()%100;
    }
}
  // вывод массива
void Print(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout << M[i]<< " ";
    }
    cout << endl;
}
// пример обработки - подсчет суммы элементов
int Work(int* M,int n)
{
    int sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=M[i];
    }
    return sum;
}
// сюда вставить все дополнительные функции которые напишете
// пример обработки // выбор элементов value>50
int Work2(int* M,int n,int* Res)
{
    int s=0;
    for(int i=0;i<n;i++)
    {
        if(M[i]>50)
           res[s++]=M[i];
    }
    return s;
}
Как видите, в main вставлено всего 4 строчки, ну а функция подсчета отличается от примера всего ДВУМЯ строками
Я смотрел, только это не то, что мне нужно. Пытался уже писать по тому, что вы мне скинули и не получилось.

Добавлено через 6 минут
Цитата Сообщение от Argus19 Посмотреть сообщение
чего? Как я смутно понимаю, массив чисел, а не символов или строк. Если чисел, то каких? Целых, вещественных или ещё каких? Так же нужно указать, каким образом его заполнять, вводя значения элементов с клавиатуры, присваивая значения элементам при инициализации или случайным образом?
Задача не сложная. Надо только её уточнить.
Пользователь вводит количество элементов одномерного массива, а программа его заполняет случайными числами. Далее должна быть функция сортировки (я её написал, так что она не обязательна). Счетчик элементов больше 50 первого массива я написал, только вот как из этих элементов сформировать еще один динамический массив я не знаю. Удаление массива знаю как делается.
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 12:28
CrazyFreshGuy, не проще будет показать то, что уже сделано (код)?
0
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 31
04.04.2020, 12:31  [ТС]
Цитата Сообщение от valen10 Посмотреть сообщение
CrazyFreshGuy, не проще будет показать то, что уже сделано (код)?
Не проблема
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
102
103
104
105
106
107
108
109
110
111
#include <iostream>
#include <time.h>
#include <random>
#include <iomanip>
#include <Windows.h>
 
using namespace std;
 
void create(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        mass[i] = rand() % 101;
    }
}
 
void show(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        cout << setw(3) << mass[i] << " ";
    }
}
 
void bigger(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size - i; j++)
        {
            if (mass[j] > mass[j + 1])
            {
                int temp = mass[j];
                mass[j] = mass[j + 1];
                mass[j + 1] = temp;
            }
        }
    }
}
 
void smaller(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size - i; j++)
        {
            if (mass[j] < mass[j + 1])
            {
                int temp = mass[j];
                mass[j] = mass[j + 1];
                mass[j + 1] = temp;
            }
        }
    }
}
 
void new_filter(int* mass, int size)
{
    int count = 0;
    for (int i = 0; i < size; i++)
    {
        if (mass[i] > 50)
        {
            count++;
        }
    }
    int* arr = new int[count];
    for (int i = 0; i < count; i++)
     {
            "не знаю что писать здесь"
     }
    cout << "\n\n";
}
 
int main()
{
    srand(time(NULL));
    int choice;
    int size;
    cout << "Enter size of array: ";
    cin >> size;
    int* mass = new int[size];
 
    cout << "\n\n";
 
    create(mass, size);
    show(mass, size);
 
    cout << "\n\n";
 
    void (*operation[3])(int* mass, int size) = { bigger, smaller , new_filter };
    cout << "\nOptions\n\n1 - Sort in bigger\n2 - Sort in smaller\n3 - Filter of array\n4 - Exit\n\n";
    cout << "Enter your choice: ";
    cin >> choice;
 
    system("cls");
 
    while (true)
    {
        if (choice < 1 || choice >= 4)
        {
            cout << "Program was stoped!\n\n";
            break;
        }
        else
        {
            operation[choice - 1](mass, size);
            break;
        }
    }
}
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 12:44
CrazyFreshGuy, то же условие и копирование в новый массив. Для этого нужен еще 1 индекс позиции для вставки.
C++
68
69
70
71
72
73
74
75
76
    int pos = 0;
    for (int i = 0; i < count; i++)
     {
//            "не знаю что писать здесь"
        if (mass[i] > 50)
        {
            arr[pos++] = mass[i];
        }
     }
0
92 / 65 / 27
Регистрация: 23.01.2020
Сообщений: 156
04.04.2020, 12:51
Проверьте кто-нибудь
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
#include <iostream>
#include <ctime>
#include <iomanip>
#include <limits>
 
using namespace std;
 
void print(double*arr, int N)// Функция вывода массива на экран
{
    for (int i = 0; i < N; ++i)
    {
        cout <<setw(5) << arr[i] << ' ';
    }
    cout << endl<<endl;
}
int counter(double* arr, int N) // Считаем сколько элементов больше 50-ти
{
    int count = 0;
    for (int i = 0; i < N; ++i)
    {
        if (arr[i] > 50)
        {
            ++count;
        }
    }
    return count;
}
 
int main()
{
    setlocale(LC_ALL, "ru");
    srand((unsigned)time(NULL));
    
    int N = 20;
    double* arr = new double[N];//___________Создание дин. массива
    for (int i = 0; i < N; ++i)
    {
        arr[i] = 0.1 * (rand() % 1000);
    }
    print(arr, N);//Выводим массив
 
    //Сортировка массива
    for (int i = 0; i < N; ++i)
    {
        int indexMax = i;
        for (int j = i + 1; j < N; ++j)
        {
            if (arr[indexMax] < arr[j])
                indexMax = j;
        }
        swap(arr[i], arr[indexMax]);
    }
    int count = counter(arr, N);
    //______________________________________Создаем второй массив (> 50)
    double* arrTwo = new double[count];
    for(int i=0, j = 0;i<N;++i)
        {
            if (arr[i] > 50)
            {
                arrTwo[j]=arr[i];
                ++j;
            }
        }
 
    print(arr, N);//Выводим отсортированный массив
    print(arrTwo, count);//Выводим второй массив (>50)
 
 
    delete[] arr; //Очистка памяти обоих массивов
    delete[] arrTwo;
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 31
04.04.2020, 13:24  [ТС]
Цитата Сообщение от valen10 Посмотреть сообщение
CrazyFreshGuy, то же условие и копирование в новый массив. Для этого нужен еще 1 индекс позиции для вставки.
C++
68
69
70
71
72
73
74
75
76
    int pos = 0;
    for (int i = 0; i < count; i++)
     {
//            "не знаю что писать здесь"
        if (mass[i] > 50)
        {
            arr[pos++] = mass[i];
        }
     }
Спасибо, сработало, только как теперь это вывести? При выводе выдаёт мусор после чисел, что меньше 50.
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 13:27
CrazyFreshGuy, размер нового массива равен count, а не size. Проверьте, что используете именно его.

Не по теме:

И не цитируйте, пожалуйста, сообщения целиком. Читать тему становится неудобно.

0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
04.04.2020, 13:34
Цитата Сообщение от CrazyFreshGuy Посмотреть сообщение
Пользователь вводит количество элементов одномерного массива, а программа его заполняет случайными числами.
Посмотрел ваш код.
Пользователь ничего не вводит.
В строке №35 вы создаёте динамический массив на 20 вещественных чисел.
Поэтому, и спрашивал.
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 13:38
Argus19, кажется, Вы коды перепутали Код, подходящий под такое описание, показал не ТС.
0
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 31
04.04.2020, 14:58  [ТС]
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <iostream>
#include <time.h>
#include <random>
#include <iomanip>
#include <Windows.h>
 
using namespace std;
 
void create(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        mass[i] = rand() % 101;
    }
}
 
void show(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        cout << setw(3) << mass[i] << " ";
    }
}
 
void bigger(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size - i; j++)
        {
            if (mass[j] > mass[j + 1])
            {
                swap(mass[j], mass[j + 1]);
            }
        }
    }
}
 
void smaller(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size - 1; j++)
        {
            if (mass[j] < mass[j + 1])
            {
                swap(mass[j], mass[j + 1]);
            }
        }
    }
}
 
void print(int* arr, int count)
{
    for (int i = 0; i < count; i++)
    {
        cout << setw(3) << arr[i] << " ";
    }
}
 
void new_filter(int* mass, int size)
{
    int count = 0;
    int pos = 0;
    for (int i = 0; i < size; i++)
    {
        if (mass[i] > 50)
        {
            count++;
        }
    }
    int* arr = new int[count];
    for (int i = 0; i < count; i++)
    {
        if (mass[i] > 50)
        {
            arr[pos++] = mass[i];
        }
    }
    print(arr, count);
    cout << "\n\n";
}
 
int main()
{
    srand(time(NULL));
    int choice;
    int size;
    cout << "Enter size of array: ";
    cin >> size;
    int* mass = new int[size];
 
    cout << "\n\n";
 
    create(mass, size);
    show(mass, size);
 
    cout << "\n\n";
 
    void (*operation[3])(int* mass, int size) = { bigger, smaller , new_filter };
    cout << "\nOptions\n\n1 - Sort in bigger\n2 - Sort in smaller\n3 - Filter of array\n4 - Exit\n\n";
    cout << "Enter your choice: ";
    cin >> choice;
 
    system("cls");
 
    while (true)
    {
        if (choice < 1 || choice >= 4)
        {
            cout << "Program was stoped!\n\n";
            break;
        }
        else
        {
            operation[choice - 1](mass, size);
            break;
        }
    }
}
при выборе функции new filter выводит мусор. что делать?
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 15:06
CrazyFreshGuy, строка 73, тут должно быть size вместо count, т.к. по первому (большому) массиву цикл организован. Тоже не обратил на это внимание.
0
0 / 0 / 0
Регистрация: 03.04.2020
Сообщений: 31
04.04.2020, 20:16  [ТС]
Спасибо, работает все)))

Добавлено через 4 часа 28 минут
Вот решение, кому нужно

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include <iostream>
#include <time.h>
#include <random>
#include <iomanip>
#include <Windows.h>
 
using namespace std;
 
void create(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        mass[i] = rand() % 101;
    }
}
 
void show(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        cout << setw(3) << mass[i] << " ";
    }
}
 
void bigger(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size - 1; j++)
        {
            if (mass[j] > mass[j + 1])
            {
                swap(mass[j], mass[j + 1]);
            }
        }
    }
    cout << "Array after sort:\n\n";
    show(mass, size);
    cout << "\n\n";
}
 
void smaller(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size - 1; j++)
        {
            if (mass[j] < mass[j + 1])
            {
                swap(mass[j], mass[j + 1]);
            }
        }
    }
    cout << "Array after sort:\n\n";
    show(mass, size);
    cout << "\n\n";
}
 
void filter1(int* mass, int size)
{
    int count = 0;
    int pos = 0;
    for (int i = 0; i < size; i++)
    {
        if (mass[i] > 50)
        {
            count++;
        }
    }
    int* arr1 = new int[count];
    for (int i = 0; i < size; i++)
    {
        if (mass[i] > 50)
        {
            arr1[pos++] = mass[i];
        }
    }
    printf("Array of numbers bigger than 50:\n\n");
    show(arr1, count);
    cout << "\n\n";
}
 
void filter2(int* mass, int size)
{
    int count = 0;
    int pos = 0;
    for (int i = 0; i < size; i++)
    {
        if (mass[i] < 50)
        {
            count++;
        }
    }
    int* arr2 = new int[count];
    for (int i = 0; i < size; i++)
    {
        if (mass[i] < 50)
        {
            arr2[pos++] = mass[i];
        }
    }
    printf("Array of numbers smaller than 50:\n\n");
    show(arr2, count);
    cout << "\n\n";
}
 
int main()
{
    srand(time(NULL));
    int choice;
    int size;
    cout << "Enter size of array: ";
    cin >> size;
    int* mass = new int[size];
 
    cout << "\n\n";
 
    create(mass, size);
    show(mass, size);
 
    cout << "\n\n";
 
    void (*operation[4])(int* mass, int size) = { bigger, smaller , filter1, filter2 };
    cout << "\nOptions\n\n1 - Sort in bigger\n2 - Sort in smaller\n3 - Array of elements bigger than 50\n4 - Array of elements smaller than 50\n5 - Exit\n\n";
    cout << "Enter your choice: ";
    cin >> choice;
 
    system("cls");
 
    while (true)
    {
        if (choice < 1 || choice >= 5)
        {
            cout << "Program was stoped!\n\n";
            break;
        }
        else
        {
            operation[choice - 1](mass, size);
            break;
        }
    }
}
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 22:35
CrazyFreshGuy, один важный момент - нет освобождения памяти. Если используется new, то должен быть и delete.
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.04.2020, 23:33
CrazyFreshGuy, это не создание, а заполнение массива случайными числами
Цитата Сообщение от CrazyFreshGuy Посмотреть сообщение
void create(int* mass, int size)
{
    for (int i = 0; i < size; i++)
    {
        mass[i] = rand() % 101;
    }
}
функция создания массива:
C++
1
2
3
4
5
6
7
8
int *Create (int n)
{    
    int *a = new int[n];
    
    for (int i = 0; i < n; i++)        
        a[i]=rand()%101;
    return a;
}
для сортировки по условию одна функция. если хотите сортировать по убыванию и по возрастанию, передавайте в функцию дополнительный параметр

функция new_filter по-хорошему тоже возвращает массив, show в ней вызывать не нужно

если пишите на С++ используйте операторы ввода-вывода языка С++ cin и cout

Цитата Сообщение от Mimilun Посмотреть сообщение
Проверьте кто-нибудь
Вы точно прочитали условие задачи ? нужно реализовать функции
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2020, 23:33
Помогаю со студенческими работами здесь

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

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

Написать программу, которая создает прямоугольный массив и подсчитывает количество элементов, больших 0
Написать программу которая созадет прямоугольный массив и с помощью функции подсчитывает количество элементов больших 0. Срочно!!

Функция: найти количество элементов массива, больших среднего арифметического его минимума и максимума
Дан массив. Размер задается пользователем, описать функциию Count(A) вычисляющую количество элементов больше среднего арифметического...

Написать процедуру, которая подсчитывает количество элементов типизированного файла, больших среднего геометрическое
Написать процедуру, которая подсчитывает количество элементов типизированного файла, больших среднего геометрическое максимального и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru