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

Повреждение кучи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсивная функция вычисления разрядности числа в двоичном виде http://www.cyberforum.ru/cpp-beginners/thread673016.html
Есть неработающий код: #include <iostream> using namespace std; unsigned char capacity (unsigned char number) { if (number == 0 || number == 1) return 1;
C++ Не могу собрать проект в exe (MVS2012) Использую mvs2012. Никак не могу понять, как собрать проект в готовый exe. Нажимал там всякие компиляции, сборки, отладку в режиме релиза. Потом заходил в папку компилятора в моих документах. Там... http://www.cyberforum.ru/cpp-beginners/thread673014.html
C++ Файлы
freopen("rpq.in", "r", stdin); freopen("rpq.out", "w", stdout); К какому каталогу будет обращаться программа Vc++
C++ Время выполнения
Скажите, как я могу сравнить время выполнения 2 функций? Желательно сразу готовый код.
C++ Сортировка Шелла http://www.cyberforum.ru/cpp-beginners/thread673005.html
Скажите пожалуйста какой из вариантов лучше использовать для реализации сортировки Шелла? Второй вариант меня смущает тем, что там больше функций? Это сильно замедлит работу по сравнению с первым...
C++ Оператор sizeof Используя оператор sizeof определите и выведите на экран количество байт, необходимых для хранения всех известных Вам простых типов данных: подробнее

Показать сообщение отдельно
Croessmah
Эксперт CЭксперт С++
13207 / 7478 / 840
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
17.10.2012, 05:51
Если ссылки не нравятся, тогда можно сделать через указатель:
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
void TeamResult::AddField ( DATABASE  * db )
{
    puts ( "Input day: " );
    scanf ( "%s", &( *db + fieldCnt - 1 )->day );
    puts ( "Input plan: " );
    scanf ( "%lf", &( *db + fieldCnt - 1 )->plan );
    puts ( "Input actual output: " );
    scanf ( "%lf", &( *db + fieldCnt - 1 )->realDo );
 
    double planPct = (
        ( *db + fieldCnt - 1 )->plan ) /
        ( ( *db + fieldCnt - 1 )->realDo ) * 100;
 
    if ( fieldCnt == 1)
    {
        planPctMax = planPct;
        planPctMin = planPct;
    }
    else 
    {
        if ( planPctMax < planPct ) 
            planPctMax = planPct;
        if ( planPctMin > planPct )
            planPctMin = planPct;
    }
 
    *db = ( DATABASE ) realloc ( *db, ( ++fieldCnt ) * sizeof ( FIELD ) );
}
Соответственно и объявление функции нужно поменять. И вызывать данную функцию так
AddField ( &db );

Добавлено через 2 минуты
Цитата Сообщение от bytephone32 Посмотреть сообщение
Как это временый? Я в функцию я передаю указатель на обьект, т.е. все что я сделаю с ним в функции касаеться и передаваемого параметра к примеру:
Вы передаете указатель на объект и можете изменять объект, а чтобы изменить указатель, Вам необходимо передать указатель на указатель (либо ссылку на указатель)

что касается scanf'a то влияет и очень сильно. если сделать "%f" для аргумета double, то в него запишется непонятное число, точнее понятное, но не ожидаемое

Добавлено через 12 минут

Не по теме:

Если что-то не понятно из вышесказанного то пишите. Я просто рассказчик замечательный, описываю слона, а получается крокодил =)))



Добавлено через 16 минут
Чтобы было понятнее, небольшой пример:
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
#include <iostream>
 
void Demo1(int * p1, int * p2){
    std::cout<<"\tDemo1 function\n";
    p2=p1;
}
void Demo2(int ** p1, int **p2){
    std::cout<<"\tDemo2 function\n";
    *p2=*p1;
}
 
int main ()
{
    int Num=10;
    int * pNum1=&Num;
    int * pNum2=NULL;
    std::cout.setf(std::ios_base::hex);
        std::cout<<"Main Function Start"<<std::endl;
    std::cout<<"pNum1 = "<<pNum1<<std::endl;
    std::cout<<"pNum2 = "<<pNum2<<std::endl;
        Demo1(pNum1,pNum2);
    std::cout<<"pNum1 = "<<pNum1<<std::endl;
    std::cout<<"pNum2 = "<<pNum2<<std::endl;
        Demo2(&pNum1,&pNum2);
    std::cout<<"pNum1 = "<<pNum1<<std::endl;
    std::cout<<"pNum2 = "<<pNum2<<std::endl;
    system ("pause");
    return 0;
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru