0 / 0 / 0
Регистрация: 23.10.2020
Сообщений: 6
1

Блок схема C++

15.12.2020, 15:54. Показов 213. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно сделать обобщенную блок-схему, т.е графически показать, как работает программа (Я знаю, что можно использовать функции и другие штуковины, для сокращения кода и чтобы код был более "красивым", но по условиям работы все это использовать нельзя). Заранее спасибо!

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>
 
using namespace std;
 
 
int main() {
    setlocale(LC_ALL, "Russian");
    int choice;
    cout << "Введите длину массива: ";
    int n;
    cin >> n;
    double* ar = new double[n];
    for (int i = 0; i < n; i++) {
        cout << "Элемент #" << i + 1 << ": "; 
        cin >> ar[i];
    }
    do {
        cout << "[";
        for (int i = 0; i < n; i++) {
            if (i > 0) {
                cout << ", "; 
            }
            cout << ar[i];
        }
        cout << "]" << endl;
        while (true) { 
            cout << "1. Найти максимальный элемент среди элементов, индексы которых четные числа" << endl;
            cout << "2. Вычислить среднеарифметическое отрицательных элементов" << endl;
            cout << "3. Вывести элементы массива с нечетными индексами на экран в обратном порядке" << endl;
            cout << "4. Отсортировать и вывести массив" << endl;
            cout << "5. Выход" << endl;
            cout << "Ваш выбор: ";
            cin >> choice;
            if (choice < 1 || choice > 5) {
                cout << "Используйте цифры от 1 до 5" << endl;
            }
            else {
                break;
            }
        }
        switch (choice) {
        case 1:
        {
            if (n <= 0) {
                cerr << "Не может быть определен для массива нулевых элементов" << endl;
                break;
            }
            double maxRes = 0;
            for (int i = 0; i < n; i++) {
                if (i % 2 == 0 && ar[i] > maxRes) { 
                    maxRes = ar[i];
                }
            }
            cout << "Максимальный элемент для элементов с четными индексами равен " << maxRes << endl;
        }
        break;
        case 2:
        {
            int cnt = 0;
            double sumRes = 0.;
            for (int i = 0; i < n; i++) {
                if (ar[i] < 0) { 
                    sumRes += ar[i]; 
                    cnt++; 
                }
            }
            if (cnt <= 0) {
                cerr << "В массиве нет отрицательных элементов" << endl;
            }
            else {
                double avgRes = sumRes / cnt; 
                cout << "Среднее значение для отрицательных элементов равно " << avgRes << endl;
            }
        }
        break;
        case 3:
        {
            if (n <= 1) {
                cerr << "Недостаточно элементов с нечетными индексами" << endl;
                break;
            }
            for (int i = n - 1; i >= 0; i--) {
                if (i % 2 == 1) {
                    cout << ar[i] << " ";
                }
            }
            cout << endl;
        }
        break;
        case 4:
        {
            for (int i = 0; i < n - 1; i++) {
                double minEl = ar[i];
                int minElInd = i;
                for (int j = i + 1; j < n; j++) {
                    if (ar[j] < minEl) {
                        minEl = ar[j];
                        minElInd = j;
                    }
                }
                double tmp = ar[i];
                ar[i] = ar[minElInd];
                ar[minElInd] = tmp;
            }
            cout << "Отсортированный массив:\n";
            cout << "[";
            for (int i = 0; i < n; i++) {
                if (i > 0) {
                    cout << ", ";
                }
                cout << ar[i];
            }
            cout << "]" << endl;
        }
        break;
        }
    } while (choice != 5);
    delete[] ar;
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2020, 15:54
Ответы с готовыми решениями:

Блок схема ( схема алгоритма )
Доброго времени суток . Есть вот такая програмка : bool checktwo(const int x); int main(){ ...

Блок-схема
объясните как решить такую блок-схему через(IF, while, do wihe)

Блок-схема
объясните как решить такую блок-схему через(IF, while, do wihe) запутался...

Блок-схема
Помогите пожалуйста составить блок-схему к задаче Даны число n, матрица размера nx9. Найти...

0
15.12.2020, 15:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2020, 15:54
Помогаю со студенческими работами здесь

блок-схема
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #define MAXLEX 1024 int main(void) {...

Блок-схема
Помогите написать блоксхему

Блок-схема
Помогите нарисовать блок схему, по блочной сортировке. Сдавать курсач через 3 дня, а я вообще не...

Блок-схема
помогите зделать блок схему к с++ #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; ...

Блок схема
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; void main() { float...

Блок-схема C++
#include &lt;iostream.h&gt; #include &lt;math.h&gt; double flnx(double x) { double sum = x, f = x; ...


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

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

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