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

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

Войти
Регистрация
Восстановить пароль
 
Yandex
2 / 2 / 0
Регистрация: 31.01.2013
Сообщений: 61
#1

Оптимизировать функцию - C++

08.12.2013, 13:51. Просмотров 224. Ответов 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
void Partition_File( const char* s_file_name, char **file_name,  int num, int number_file )
{
    int fnum = num / number_file;
    double *str_number = new double[fnum];
    int k = 0, incr = 0, i, number = number_file - 1;
    FILE *sfile = fopen( s_file_name, "rt" ), *ffile;
    clock_t MyTime = clock();
    while( !feof( sfile ) )
    {
        fscanf( sfile, "%d", &i );
        str_number[k] = i; 
        k++;
        if ( ( k == fnum ) && ( incr < number ) )
        {
             mergeSort(str_number, k);
             ffile = fopen( file_name[incr], "wt" );
             for( int z = 0; z < k; z++ ) fprintf( ffile, "%2.0f ", str_number[z] );
             fclose(ffile);
             k = 0;
             incr++;
             delete[] str_number;
             if( incr != number ) str_number = new double[fnum];
             else str_number = new double[num - fnum*incr];
        }
    }
    if( k != 0 )
    {
        ffile = fopen( file_name[incr], "wt" );
        mergeSort( str_number, k-1 );
        for( int z = 0; z < k-1; z++ ) fprintf( ffile, "%2.0f ", str_number[z] );
        fclose(ffile);
    }
    MyTime = clock() - MyTime;
    std::cout << " Файл разбит за " << ((float)MyTime) / CLOCKS_PER_SEC << "s.\n";
    fclose( sfile );
}
может посоветуете какой оператор можно заменить на более эффективней
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 13:51     Оптимизировать функцию
Посмотрите здесь:

C++ Помогите оптимизировать код
C++ Нужно оптимизировать
Оптимизировать перебор C++
C++ Оптимизировать вычисление формулы
C++ Как оптимизировать функцию сотрировки строк?
C++ Нужно оптимизировать код
C++ Оптимизировать алгоритм
C++ Оптимизировать код
C++ Оптимизировать и минимализировать код
Как оптимизировать функцию рисования отрезка C++
C++ Нужно оптимизировать функцию
Оптимизировать код C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1276 / 634 / 55
Регистрация: 11.08.2011
Сообщений: 2,272
Записей в блоге: 2
Завершенные тесты: 1
08.12.2013, 13:55     Оптимизировать функцию #2
Yandex, а что сделать то надо? назначение ф-ции?
Yandex
2 / 2 / 0
Регистрация: 31.01.2013
Сообщений: 61
08.12.2013, 13:57  [ТС]     Оптимизировать функцию #3
Цитата Сообщение от Dani Посмотреть сообщение
Yandex, а что сделать то надо? назначение ф-ции?
Функция разбивает один большой файл (с числами) на несколько маленьких файлов при этом сортируется сортировкой слиянием.
s_file_name - имя большого файла
file_name - имена маленьких файлов
num -количество чисел ( в большем файле )
number_file - количество файлов
Yandex
Объявления
08.12.2013, 13:57     Оптимизировать функцию
Ответ Создать тему
Опции темы

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