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

Отладка функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ cin и \n http://www.cyberforum.ru/cpp-beginners/thread1031894.html
Добрый день. Существует ли какой-то механизм, который позволяет узнать перепрыгнул ли cin через \n. что я имею в виду. this is test line я считываю это в цикле while(cin >> str) {...} однако при считывании 'test', cin перепрыгивает через \n, можно ли как то обработать это? вот по такому принципу
C++ удаление элементов массива, совпадающих с элементами другого массива Здравствуйте, помогите найти ошибку в коде; суть задачи такая: удалить элементы из 1 массива, которые содержатся во 2 массиве. Как я понимаю, необходимо создать доп.массив и записывать в него элементы 1 массива, не встречающиеся во 2-ом. Проблема с выводом этого самого доп.массива Вот код #include <iostream> #include <windows.h> #include <fstream> using namespace std ; const unsigned... http://www.cyberforum.ru/cpp-beginners/thread1031891.html
C++ Фамилии
Дан список фамилий. Вывести отдельно мужские фамилии, женские и фамилии, по которым нельзя определить пол. Не могу разобраться с этой задачей... Если бы вводился пол человека, все ясно, а так ничего не понимаю.. Друг посоветовал работать через векторы, единственное, что я пока смог понять и найти в интернете, это ввод и вывод вектора. В общем, помогите решить задачу, пожалуйста... Если не...
Переделать программу на C++ C++
Может кто помочь переделать программу, заменив часть кода, оставим неизменным алгоритм вычисления. Программа абсолютно рабочая, нужно просто сделать ее непохожей на исходник. Исходник прикреплен. https://www.dropbox.com/s/nz81pkqzdzmsx0s/source_c%2B%2B.docx
C++ Сформировать одномерный массив http://www.cyberforum.ru/cpp-beginners/thread1031837.html
Сформировать одномерный массив с поощью генератора случайных чисел в диапазоне . В заданном массиве чисел заменить элементы с нечетными номерами на квадраты их номеров, а элементы с четными номерами- на противоположные по знаку элементы. Обязательно выводить на экран исходный массив и результирующий
C++ Динамическое распределение памяти Здравствуйте! Имеется такая задача (см. вложения). Помогите составить функцию, использующую операцию new с адресацией, которая помещает массив из двух подобных структур в буфер. Остальное доделаю сам, просто вообще не дружу с динамической памятью. Заранее спасибо! подробнее

Показать сообщение отдельно
Владслав
 Аватар для Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
07.12.2013, 14:31     Отладка функции
Помогите отладить мою функцию, что бы она быстрее работала. Функция делит один большой файл на несколько маленьких при это их сортирует слиянием.
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 );
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru