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

Ребят доработайте код программы (программа сортировки чисел методом Шелла) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, которая по координатам камушков на поле находит вариант размещения их на двух несовпадающих окружностях http://www.cyberforum.ru/cpp-beginners/thread767635.html
Долго решал, в какой же раздел форума написать, поэтому если не туда попал - прошу прощения :) Итак, сидит друг на экзамене, попросил подсобить с решением задачи: "Юный футболист Митя обнаружил на школьном футбольном поле две различные окружности, нарисованные едва заметной белой краской. Вспомнив истории о загадочных кругах на полях, он отметил эти окружности с помощью небольших камушков. Митя...
C++ Подправить код #include "stdafx.h" #include <iostream> using namespace std; const int n=10; float X; double sum(); int _tmain(int argc, _TCHAR* argv) { int i; cout<<"Massiv X"<<endl; http://www.cyberforum.ru/cpp-beginners/thread767611.html
C++ Нахождения максимального из двух чисел
2 С помощью механизма перегрузки функций реализовать функции для нахождения максималь-ного из: 1) 2-х чисел; 2) длин 2-х строк; 3) длины строки и числа; 4) числа и длины строки.
Исправить ошибку (умножение двух матриц) C++
#include <iostream> #include <windows.h> using namespace std; void main() { SetConsoleOutputCP(1251); const int s = 2; int a1, a2, a3 = {0}; cout << "Запоните первый мaссив:\n"; for(int i = 0; i < s; i++)
C++ Некоректное выполнение программы по присваиванию char масивов http://www.cyberforum.ru/cpp-beginners/thread767590.html
Привет знатокам я написал не большой код в котором одномерный масив char присваевается к двумерному char. Вопрос вот в чем. если закоментить эту строку //char symbolArray2 = {''}; получаетя следующий результат. ddddd ddddd +++++ ddddd
C++ Задачи из книги Прата (представить значения с помощью символических констант) Только начал изучать книгу Прата "Язык программирования С++",столкнулся с такой задачей: Напишите программу, которая запрашивает широту в градусах, минутах и секундах, после чего отображает широту в десятичном формате. В одной минуте 60 угловых секунд, а в одном градусе 60 угловых минут; представьте эти значения с помощью символических констант. Для каждого вводимого значения должна... подробнее

Показать сообщение отдельно
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 434
22.01.2013, 14:06     Ребят доработайте код программы (программа сортировки чисел методом Шелла)
Вот, держи. И не забудь плюсик поставить)
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <fstream>
using namespace std;
 
int main()
{
    ofstream outFile;
    int flag;
    // razmer massiva,
    // kotoriy neobhodimo sortirovat
    int size;
    
    cout <<"1: user, 2: random\nenter: ";
    while(!(cin >>flag))
        {
            cin.clear();
            while (cin.get() != '\n')
                continue;
            cout <<"Please a number of 1 for user or 2 for random: ";
        }
    if (flag == 2)
    {
        srand(time(NULL));
        cout <<"\nenter number: ";
        while(!(cin >>size))
        {
            cin.clear();
            while (cin.get() != '\n')
                continue;
            cout <<"Please a number: ";
        }
 
    }
    else if (flag == 1)
    {
        cout <<"\nenter number: ";
        while(!(cin >>size))
        {
            cin.clear();
            while (cin.get() != '\n')
                continue;
            cout <<"Please a number: ";
        }
    }
    cout <<"\nRazmer matrici = " <<size <<"\n\n";
    // dinam vid pamat
    // hranenie massiva razmera size
    int *a = new int[size];    
    // schitivaem massiv
    if (flag == 1)
    {
        for (int i = 0; i < size; i++)
        {
            cout <<'[' <<i <<']' <<" = ";
            while(!(cin >>a[i]))
            {
                cin.clear();
                while (cin.get() != '\n')
                    continue;
                cout <<"Please a number: ";
            }
        }
    }
    else if (flag == 2)
    {
        for (int i = 0; i < size; i++)
        {
            cout <<'[' <<i <<']' <<" = ";
            a[i] = rand()%10;
            cout <<a[i] <<"; ";
        }
    }
 
    int step = size / 2;//inicial shag.
    while (step > 0)//poka shag ne 0
    {
      for (int i = 0; i < (size - step); i++)
                {
                    int j = i;
                    //budem idti nachinaya s  i-go elementa
                    while (j >= 0 && a[j] > a[j + step])
                    //poka ne prishli k nachalu massiva
                    //i poka rassmatr element bolshe
                    //chem element nahod na rasstoyanii shaga
                    {
                        //menaem ih mestami
                        int temp = a[j];
                        a[j] = a[j + step];
                        a[j + step] = temp;
                        j--; 
                    }
                }
                step = step / 2;//umenshaem shag
            }    
            cout <<endl;
    // vivodim massiv
    
    cout <<"1: for screen, 2: for screen and txt file\nenter: ";
    cin >>flag;
    if (flag == 1)
    {
        for (int i = 0; i < size; i++)
            cout << a[i] << ' ';
        cout <<endl;
    }
    else if (flag == 2)
    {
        outFile.open("output.txt");
        for (int i = 0; i < size; i++)
        {
            cout << a[i] << ' ';
            outFile <<a[i] <<' ';
        }
        outFile.close();
        cout <<endl;
    }
        
    return 0;
}
 
Текущее время: 10:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru