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

q-sort сортировка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача на строки: Вывести директорию файла. http://www.cyberforum.ru/cpp-beginners/thread438049.html
Задача: из полного адреса файла выделить его основную директорию. Если файл находится в корневой директории, вывести символ "\". Считать что адрес введен всегда правильно. Короче, если дан адрес C:\AMD\Catalyst_Mobility_64-Bit_Util.exe на экран вывести AMD. Вот наброски: #include "stdafx.h" #include <iostream> #include "stdio.h" #include "string.h"
C++ В произвольной тексте на русском языке вывести строки, содержащие более 5 букв "о" Привет всем! Вобщем у меня проблема, есть задачка: В произвольной тексте на русском языке вывести строки, содержащие более 5 букв "о". Не подскажите как это реализовать?) как поменять буквы в тексте я уже понял, а вот над этим ломаю голову. Вот что я попытался сделать(ясно дело бред написал:)) #include "stdafx.h" #include<iostream> #include<string> #include<fstream> http://www.cyberforum.ru/cpp-beginners/thread438029.html
Помогите найти ошибку C++
//Даны три положительных числа а, b, c. Проверить, могут ли они быть длинами сторон треугольника. Если да, то вычислить площадь этого треугольника. #include <math.h> #include <iostream> using namespace std; void main() { int a, b, c;
нужна блок схема и ручной расчёт к етому коду C++
помогите пожалуйста с: 1)блок-схема 2)ручной счет(подготовка программы) вот код: #include <stdio.h> #include <tchar.h> #include <stdlib.h> #define SIZE_ARRAY 10 //размер массива #define MAX_INTEGER 10 //максимально допустимое число int myarray; // масив с которым работаем
C++ Чтение и запись в файл. Как вывести значение на экран http://www.cyberforum.ru/cpp-beginners/thread438011.html
#include <sys/stat.h> #include <memory.h> #include <fcntl.h> #include <stdio.h> #include <io.h> struct mystruct { int i; char buf; double d;
C++ Применение массивов Функция такова y=1/2(одна вторая) ln x (логарифм от x вроде) y=1/2 ln x Попрошу вас дорогие программисты , в с++ переделать с массивами мой код #include <cstdlib> #include <iostream> #include <math.h> using namespace std; //y=1/2*log(x) //x=0,1,2,3,4,5,6,7,8,9; float y(float x) подробнее

Показать сообщение отдельно
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.01.2012, 18:03     q-sort сортировка
Так пробуйте. g++ 4.7, компилируется
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
#include <ctime>
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
void myqsort(double *massive, int left, int right);
 
int main()
{
        setlocale(0,"");
 
        cout << "Введите количество элементов масива N=";
        int n;
        cin >> n;
 
        double *mas=new double[n];
 
        srand((unsigned)time(NULL));
        for(int i=0;i<n;i++)
                mas[i]=(double)rand()/(rand()+1);
        ///////
        cout << "\nНачальные данные" << endl;
        cout << "a[0]=" << mas[0] << endl;
        cout << "a[" << n-1 <<"]=" << mas[n-1] << endl;
        ///////
        double t1 = clock();
        //
        myqsort(mas,0,n-1);
        //
        double t2 = clock();
        cout << "\n время = " << (t2-t1)/CLOCKS_PER_SEC << endl;
        ///////
        cout << "\nРезультат" << endl;
        cout << "a[0]=" << mas[0] << endl;
        cout << "a[" << n-1 <<"]=" << mas[n-1] << endl;
        ///////
        return 0;
}
void myqsort(double *mas, int lb, int rb)
{
        double tmp;
        if((lb+1==rb)&(mas[lb]>mas[rb]))
        {
                tmp=mas[lb];
                mas[lb]=mas[rb];
                mas[rb]=tmp;
        }
        if(lb+1<rb)
        {
        double key=mas[lb];
        int i_left=lb+1;
        int i_right=rb;
        while(i_left<i_right)
                {
                        while((mas[i_left]<key)&(i_left<rb)) i_left++;
                        while((key<=mas[i_right])&(lb<i_right)) i_right--;
                        if(i_left<i_right)
                        {
                                tmp=mas[i_left];
                                mas[i_left]=mas[i_right];
                                mas[i_right]=tmp;
                        }
                }
        }
}
 
Текущее время: 15:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru