Форум программистов, компьютерный форум 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 угловых минут; представьте эти значения с помощью символических констант. Для каждого вводимого значения должна... подробнее

Показать сообщение отдельно
Bezumie
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 4
21.01.2013, 08:48     Ребят доработайте код программы (программа сортировки чисел методом Шелла)
Нужна помощь
Есть программа сортировки чисел методом шелла ее надо дописать чтоб она спрашивала
1 - введите сами
2 – рандом
Если выбирает 1: то
Введите размер массива:
Введите сам массив ( его надо сделать не в столбик а в строчку)
Если вводим не число то: опять
1 - введите число
2 – рандом число
(можно даже выводить на экран промежуточные итоги)
И в конце: чтобы тоже выдавал запрос
1 вывести массив на экран
2 вывести на экран и сохранить в файл (.тхт)
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
#include <iostream>
using namespace std;
 
int main()
{
    // razmer massiva,
    // kotoriy neobhodimo sortirovat
    int size;
    cin >> size;
 
    // dinam vid pamat
    // hranenie massiva razmera size
    int *a = new int[size];
    
    // schitivaem massiv
    for (int i = 0; i < size; i++)
    {
        cin >> 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
            }    
    // vivodim massiv
    for (int i = 0; i < size; i++)
    {
        cout << a[i] << ' ';
    }
 
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
заранее всем спасибо за помощь ))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru