С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.07.2023
Сообщений: 1
1

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

03.07.2023, 16:50. Показов 3006. Ответов 2

Author24 — интернет-сервис помощи студентам
Необходимо написать программу, в которой создаются динамические массивы и выполняется их обработка: поиск и сортировка
элементов по возрастанию, у которых сумма чисел четная, различными методами, на языке С++ с использованием
графических интерфейсов.
Используемое ПО: Visual studio 2008/2010/2012/2015 Среда разработки для программирония.
1. Написать функцию для ввода текущего размера массива с проверкой корректности вводимых данных.
2. Написать функции для заполнения массива исходными данными. Заполнение массива должно быть
реализовано с использованием механизма перегрузки функций (в зависимости от желания пользователя):
• с клавиатуры (параметрами являются указатель – имя массива и количество элементов);
• случайными числами (параметрами являются указатель – имя массива, диапазон и количество
элементов);
• из файла (параметрами являются указатель – имя массива, имя файла и количество элементов,
предусмотреть случай, когда в файле меньше чисел, чем заявлено при объявлении массива).
3. Выбор способа заполнения массива реализовать в функции main().
4. Написать функцию, выводящую элементы массива на экран.
5. Написать функцию, выводящую элементы массива в текстовый файл с заданным именем. Имя файла
передать через параметр литерного типа.
6. Написать функции для сортировки массивов по возрастанию только те элементы массива, сумма цифр которых является чётным числом следующими методами:
• сортировка выбором
• простые вставки
• бинарные вставки
• сортировка обменом
• сортировка Шелла
• сортировка Хоара
• пирамидальная сортировка
7. Написать функции для сортировки слиянием. Данные для сортировки подготовить в текстовом файле.
Демонстрацию метода сортировки можно провести с использованием динамических массивов.
8. После выполнения задания 6 результат вывести на экран и в файл Output.txt.
Примечание:
Формирование, вывод и обработку массива оформить в виде вспомогательных алгоритмов.
Для проверки условий написать соответствующие функции-предикаты (то есть функции, возвращающие
значение логического типа)
Основной алгоритм должty содержать только описание массива и вызовы вспомогательных алгоритмов для
формирования, вывода и обработки массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2023, 16:50
Ответы с готовыми решениями:

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

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

Написать программу, в которой создаются динамиче-ские массивы и выполнить их обработку
Порядок выполнения работы 1. Ввести размер массива; 2.Сформировать массив с помощью операции new...

Написать программу, в которой создаются и разрушаются объекты пользовательского класса
Класс СЛУЖАЩИЙ имя – char* возраст – int рабочий стаж – int 1.Написать программу, в которой...

2
Заблокирован
04.07.2023, 09:27 2
Gghhttkic, полагаете кто-то такое скуки ради напишет?
0
70 / 14 / 3
Регистрация: 10.07.2018
Сообщений: 284
09.07.2023, 22:28 3
Мне все писать лень но в этом коде заложен каркас, можете доработать

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
#include <iostream>
#include <fstream>
#include <random>
 
using namespace std;
 
// Функция для ввода текущего размера массива с проверкой корректности вводимых данных
int inputSize() {
    int size;
    cout << "Введите размер массива: ";
    cin >> size;
    while (size <= 0) {
        cout << "Размер массива должен быть положительным числом. Попробуйте еще раз: ";
        cin >> size;
    }
    return size;
}
 
// Функции для заполнения массива исходными данными
 
// Заполнение массива с клавиатуры
void fillArray(int* arr, int size) {
    cout << "Введите элементы массива: ";
    for (int i = 0; i < size; i++) {
        cin >> arr[i];
    }
}
 
// Заполнение массива случайными числами в заданном диапазоне
void fillArrayRandom(int* arr, int size, int minVal, int maxVal) {
    random_device rd;
    mt19937 gen(rd());
    uniform_int_distribution<> dis(minVal, maxVal);
    for (int i = 0; i < size; i++) {
        arr[i] = dis(gen);
    }
}
 
// Заполнение массива из файла
void fillArrayFromFile(int* arr, int size, const string& filename) {
    ifstream inputFile(filename);
    if (inputFile.is_open()) {
        for (int i = 0; i < size; i++) {
            if (!inputFile.eof()) {
                inputFile >> arr[i];
            } else {
                // Количество чисел в файле меньше размера массива
                arr[i] = 0;  // Заполняем оставшиеся элементы массива нулями
            }
        }
        inputFile.close();
    } else {
        cout << "Не удалось открыть файл " << filename << endl;
    }
}
 
// Функция для вывода элементов массива на экран
void printArray(const int* arr, int size) {
    cout << "Массив: ";
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}
 
// Функция для вывода элементов массива в файл
void writeArrayToFile(const int* arr, int size, const string& filename) {
    ofstream outputFile(filename);
    if (outputFile.is_open()) {
        for (int i = 0; i < size; i++) {
            outputFile << arr[i] << " ";
        }
        outputFile.close();
    } else {
        cout << "Не удалось создать файл " << filename << endl;
    }
}
 
// Функции для проверки условий
 
// Проверка, является ли сумма цифр числа четной
bool isSumOfDigitsEven(int num) {
    int sum = 0;
    while (num != 0) {
        sum += num % 10;
        num /= 10;
    }
    return sum % 2 == 0;
}
 
// ... (функции для сортировки массивов)
 
// Основная функция
int main() {
    int size = inputSize();  // Ввод размера массива
    int* arr = new int[size];  // Создание динамического массива
 
    // Выбор способа заполнения массива
    int choice;
    cout << "Выберите способ заполнения массива:" << endl;
    cout << "1. Ввод с клавиатуры" << endl;
    cout << "2. Случайные числа" << endl;
    cout << "3. Из файла" << endl;
    cin >> choice;
 
    switch (choice) {
        case 1:
            fillArray(arr, size);
            break;
        case 2:
            int minVal, maxVal;
            cout << "Введите диапазон случайных чисел: ";
            cin >> minVal >> maxVal;
            fillArrayRandom(arr, size, minVal, maxVal);
            break;
        case 3:
            string filename;
            cout << "Введите имя файла: ";
            cin >> filename;
            fillArrayFromFile(arr, size, filename);
            break;
        default:
            cout << "Некорректный выбор." << endl;
            break;
    }
 
    printArray(arr, size);  // Вывод массива на экран
 
    delete[] arr;  // Освобождение памяти
 
    return 0;
}
0
09.07.2023, 22:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2023, 22:28
Помогаю со студенческими работами здесь

Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса
Цель: Получить практические навыки реализации классов на С ++. Основное содержание работы...

Класс: Написать демонстрационную программу, в которой создаются объекты различных классов.
Всем привет,помогите пожалуйста с заданием: Написать демонстрационную программу, в которой...

Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса
Нужно написать демонстрационную программу, в которой создаются и разрушаются объекты...

Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса
Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса....

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

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


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

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