Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мистическим образом обнуляется строка... Совсем мистическим, честно... 
V
    Опции темы
tonchitos
Дата 29.5.2007, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: нет
Всего: 40



У меня вот такая штука

После присваивания переменной типа long double  значения некой функции у меня мистическим образом обнуляется кое-какая строка... Я проверила. В функции она не обнуляется, представляете? Я даже убрала фунцкию, она все равно обнуляется , если этой переменной присвоить значение. То есть, обычная переменная никаким боком к той строке...
Меня смущает другое.. Это переменная - элемент динамического двухмерного массива..я понимаю что звучит бредово, но может типа места не хватает... Люди...Еще немного и я начну верить в приведений....

Образец кода:

Код

void CheckExpression::FuncChangeVar(char *str, long double **Matr, long double *RezMatr,int &DataColmn, int &DataRow)
{
    int Pos;
    char *cBuf;
    cBuf = new char[255];
    char cNum[100];
    int ind;
    int key;
    

    for (int Fact=0; Fact<DataRow; Fact++)
    {
        key=0;
        for (ind=0; str[ind]; ind++)
            cBuf[ind] = str[ind];
        cBuf[ind] = 0;

        for (int i=0; str[i];i++)
        {
            if (str[i]=='X')
            {
                ind = CheckAftX(str,i+1,DataColmn, Pos);
        
                sprintf(cNum,"%lf",Matr[Fact][ind]);

                for (int k=0; cNum[k]; k++)
                    cBuf[i+k+key] = cNum[k];
                cBuf[i+k+key] = 0;

                for (int j=0; str[i+Pos+1+j]; j++)
                    cBuf[i+k+j+key] = str[i+Pos+1+j];
                cBuf[i+j+k+key]=0;
                key = key + k - Pos - 1;


            }

            if (str[i]=='Y')
            {
                sprintf(cNum,"%lf",Matr[Fact][0]);

                for (int k=0; cNum[k]; k++)
                    cBuf[i+k+key] = cNum[k];
                cBuf[i+k+key] = 0;

                for (int j=0; str[i+1+j]; j++)
                    cBuf[i+k+j+key] = str[i+1+j];
                cBuf[i+j+k+key]=0;
                key = key + k - 1;
            }
        }
        Tree    *pV = 0;
        CalcIntBracket (cBuf);
        FuncFound    (cBuf);
        RezMatr[Fact] = FormTree(cBuf,pV);
    }
    delete []cBuf;
}


RezMatr[Fact] = FormTree(cBuf,pV);  - все происходит здесь, но ф-ия не причем, я проверила....
 smile 


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
JackYF
Дата 29.5.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Попробуй sprintf("%llf", ...) или spritnf("%Lf") место sprintf("%lf").


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.