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

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

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

нехватает блок-схемы,по данному коду - C++

11.01.2011, 15:32. Просмотров 334. Ответов 0
Метки нет (Все метки)

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
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>
#include <cstdlib>
using namespace std;
 
 
int *Create(int n)
{//Создание массива
    if (n <= 99999 && n > 1)
    {
        int *arr = new int [n];
        for (int i = 0; i < n; i++)//Заполнение массива
            arr[i] = i;
        int k;
        for (int i = 0; i < n; i++)//Перемешивание элементов
        {
            k = rand() % n;
            int z = arr[i];
            arr[i] = arr[k];
            arr[k] = z;
        }
        return arr;
    } else return NULL;
}
 
void Show(int *arr, int n)
{//Вывод массива на экран
    cout << endl;
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
    cout << endl;
}
 
void Copy(int *arr1, int *arr2, int n)
{//Копирование массива из arr1 в arr2
    for (int i = 0; i < n; i++)
        arr2[i] = arr1[i];
}
 
void PocketSortArray(int *arr, int n)
{//Сортировка с дополнительным массивом
    int moves = 0;
    int *sort = new int [n];
    for (int i = 0; i < n; i++, moves++)
        sort[arr[i]] = arr[i];
    Show(sort, n);
    cout << endl << "Сравнений = 0. Пересылок = " << moves << endl;
    delete[] sort;
}
 
void PocketSort(int *arr, int n)
{//Сортировка без дополнительного массива
    int moves=0, srav=0;
    for (int i = 0; i < n; i++)
        while(++srav && arr[i] != i)
        {
            int tmp = arr[i];
            arr[i] = arr[tmp];
            arr[tmp] = tmp;
            moves++;
        }
    Show(arr ,n);
    cout << endl << "Сравнений = " << srav << " Пересылок = " << moves << endl;
}
 
int _tmain(int argc, _TCHAR* argv[])
{//Точка входа в программу
    srand(1);
    setlocale(LC_ALL, "Russian");
    int *mas, *sortMas;
    int n = -1;
    char action;
    do
    {
        cout << endl << "1. Создать массив;"
        << endl << "2. Показать исходный массив;"
        << endl << "3. Карманная сортировка с дополнительным массивом;"
        << endl << "4. Карманная сортировка без дополнительного массива;"
        << endl << "0. Выход." << endl;
        action = getche(); //Ввод символа
        switch(action)//Выбор действия
        {
        case '1':
            if (n > 0)
            {
                delete[] mas;//Освобождение памяти
                delete[] sortMas;
            }
            cout << endl << "Введите размер массива = ";
            cin >> n;
            mas = Create(n); //Создание массива
            if (mas != NULL)
            {
                sortMas = new int [n];//Выделение памяти
                cout << endl << "Массив элементов создан." << endl;
            }
            else
            {
                cout << endl << "Невозможно создать массив." << endl;
                n = 0;
            }
            break;
 
        case '2':
            if (n > 0) Show(mas, n); //Вывод массива на экран
            else cout << endl << "Сначала создайте массив." << endl;
            break;
 
        case '3':
            if (n > 0)
            {       
                Copy(mas, sortMas, n); //Создание копии массива
                PocketSortArray(sortMas, n); //Сортировка массива
            } else cout << endl << "Сначала создайте массив." << endl;          
            break;
 
        case '4':
            if (n > 0)
            {
                Copy(mas, sortMas, n); //Создание копии массива
                PocketSort(sortMas, n); //Сортировка массива
            } else cout << endl << "Сначала создайте массив." << endl;
            break;
 
        case '0':
            break;
 
            default:
            cout << endl << "Выберите один из предлогаемых вариантов." << endl;
            break;
        }
    } while(action != '0');
    //cin.get();//Ожидание нажатия любой клавиши
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2011, 15:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нехватает блок-схемы,по данному коду (C++):

Составление блок-схемы по данному коду - C++
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; using namespace std; float a,b,c,d,x; int main() { ...

Составить алгоритм(блок-схему) по данному коду - C++
Дан код, нужно по этому коду составить алгоритм(блок-схему). #include &lt;iostream&gt; using namespace std; int main() { ...

Нарисовать блок-схемы по коду - C++
Нарисуйте пожалуйста в paint от руки блок-схему по этому коду С++ и сделайте скриншот! Пожалуйста, а то у меня завал! int main(){ ...

Составление блок-схемы к коду - C++
хелп пожалуйста как сделать блок-схему к коду? #include &lt;iostream&gt; // Функция вычисления факториала натурального числа n ...

Нарисовать 2 блок-схемы по готовому коду. - C++
1.Найти наибольшую сумму чисел ряда 1;1/2;1/3;1/n, не превышающую заданное число k. #include &lt;iostream&gt;; using namespace std; int...

Блок-схемы - C++
помогите начертить блок-схемы 1.поменять элементы массива Y, таким образом чтобы они располагались в обратном порядке 2.Вычислить суммы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2011, 15:32
Привет! Вот еще темы с ответами:

Блок-схемы - C++
Формумчане, у меня нестандартный вопрос: кто-нибудь из вас может мне помочь в составлении блок-схем к программам? Необходимо это для...

Блок-схемы - C++
Помогите с блок схемой для с++ пожалуйста, завтра последний день сдачи а я не знаю как их нарисовать 1) #include &lt;iostream&gt; #include...

Блок Схемы - C++
Люди помогите нарисовать блок схему Вводится n чисел до тех пор пока не будет введено число из промежутка от 10 до 20. Подсчитать...

Блок схемы - C++
Ребят, не знал куда писать, но так-как нужна блок схема к программе на С++, то пишу тут. Не подскажите програмку для рисования блок схем?


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

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

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