void combination::OnButton2()
{
// TODO: Add your control notification handler code here
  m_progress.SetPos(0);
  m_progress.SetRange(0,100);

combination a;
a.make_combinations(0);
}
void combination:: make_combinations(int lo_val)
{
  srand(time(0));
  m_progress.StepIt();
ofstream fout("combination.txt",ios::app);
ofstream fout2("time.txt",ios::app);

for(int i=0; i<theApp.no_of_process; i++)
{
    //m_progress.OffsetPos(100/4);
    //m_progress.SetStep(200);
    clock_t begin=clock();
    arr[lo_val] = i;
    if(lo_val==(theApp.no_of_tasks)-1)
    {
        for( int j=0; j<theApp.no_of_tasks; j++)
        {
            int number = arr[j];
            fout<<Matrix[j][number];
        }

        fout<<endl;
    }
    else
    {
        //Sleep(2);
        make_combinations(lo_val+1);
        clock_t end=clock();
    theApp.combination_time[i][0]=(diffclock(end,begin))/1000;
    fout2<<theApp.combination_time[i][0]<<endl;
    }

}
}

there is a dialog on mfc with a button behine that button am calling a recursive function. i placed a progress bar on the same dialog that should tell me the progress of recursion. but iam gettin an error on clicking the button. debug assertion failed. your program caused an assertion failure. i dnt know what is wrong with my code. please help!!

ISSUE NO 2: Iam making this project on MFC! it includes brute force capability. It also has file handling in it!! am stuck at another point! i have a couple of files with file writing! my project has multiple files .txt format! on the main MFC board i want to add an option for browsing those written files . they should open in the format they are written! any help how it can be done?? just like a browsing menu! help??

I would start commenting out lines until the assertion failure stops.

Should the position be set before the range is declared?

combination a;
a.make_combinations(0);

If your combination class has member m_progress which you are initializing in OnButton2() function. But to call
make_combinations fucntion you are creating another object of class combination whose m_progress is not yet initialized.

see this code

void combination::OnButton2()
{
    // TODO: Add your control notification handler code here
    m_progress.SetRange(0,100); // first set range
    m_progress.SetPos(0); // then set position
    make_combinations(0);
}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.