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

Сортировка Шелла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структура point http://www.cyberforum.ru/cpp-beginners/thread117207.html
Ребят помогите. Нужно решить задачу с использованием структуры point. А задача такова - ННужно найти точку которая наиболее удалена от начала координат в плоскости. Я решила ее так: #include <iostream> #include <cmath> using namespace std; struct point { float x,y,z; }; double dlina (point a) { return sqrt(a.x*a.x+a.y*a.y+a.z*a.z);}
C++ Механизм перегрузки Ребят помогите. Нужно создать две версии функции, используя механимз перегрузки, заголовки у которых должны быть такими: №1 float F(float x); №2 void F (float x, float &y). 1) #include <iostream> #include <math.h> using namespace std; int main(){ float F(float x){ float y; cin>>x; http://www.cyberforum.ru/cpp-beginners/thread117204.html
C++ причина ошибки
помогите разобраться почему выходит ошибка? #include <iostream.h> #include <string.h> #include <conio.h> #include <stdio.h> #include <math.h> int pr(float a,float b,float *p,float *s,float *r) {if(a<0 && b<0) return 0;
Поиск слов в строке без учета регистра C++
В общем пока только один вопрос (позже возможно еще возникнут) : Я сам написал функцию для поиска слов в строке, но ейе не хватает снятия учёта регистра. Ну например если пользователь введёт вместо "Привет" (как забито в программу) слово "привет", "пРиВеТ" и т.д. , а нужно, чтобы прога все эти варианты рассматривала как один. Плиз, помогите!BOOL find (char* str, char* word){ bool ok = 0;...
C++ Cимвольные стоки http://www.cyberforum.ru/cpp-beginners/thread117177.html
Народ подскажите плз как сделать эту задачу :Функция выделяет из строки заданное количество слов, начиная со слова с заданным номером. И надо эти слова вывести в другой массив. Буду очнь благодарен).
C++ Аппроксимация числа Pi ПОМОГИТЕ решить вот эту задачу Аппроксимация 4(Pi) Один из быстрых методов подсчета числа Пи основывается на непрерывной дроби Пи = 3+1/(7+1/(15+1/(1+1/(292+1/(1+1/(1+1/(1+1/(2+1/(1+1/(3+1/(1+1/14+…))))))))))). Эта дробь называется правильной (знаменатели ==1) и подходящей, т.к. доказано, что любая дробь с меньшим знаменателем дает худшую аппроксимацию. В 1954 г. Лемер в этом разложении... подробнее

Показать сообщение отдельно
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
05.01.2012, 09:39     Сортировка Шелла
Цитата Сообщение от cyberobot Посмотреть сообщение
вот моя функция сортировки шелла по возрастанию
думается мне вы поторопились.
Вот я применил вашу функцию:
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
#include <iostream>
using std::cout;
using std::cin;
 
template <typename T>
void shell_sort(T *a, int size) {
    int b = 0;
    int c = 1;
    T promez;
    int op = 0;
    while (op < size) {
        if (a[b] <= a[c]) {
            b++;
            c++;
            op++;
        } else {
            promez = a[b];
            a[b] = a[c];
            a[c] = promez;
            op++;
        }
    }
}
 
 
int main() {
 
    const int size = 5;
    int a[size] = {1,4,3,5,3};
 
    cout << "before :: ";
    for(int i = 0; i < size; ++i){
        cout << a[i] << " ";
    }
 
 
    shell_sort(a,size);
 
    cout << "\n\nafter  :: ";
    for(int i = 0; i < size; ++i){
        cout << a[i] << " ";
    }
    cin.get();
    return 0;
}
РЕЗУЛЬТАТ

before :: 1 4 3 5 3

after :: 1 3 4 3 5
 
Текущее время: 07:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru