|
Cannot you use the AVL tree definition, i.e. compute the balance factor(s)?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Can you write some urls with code?
This information is not enough for me
Regards
|
|
|
|
|
Cowork wrote: Can you write some urls with code?
Nope.
Cowork wrote: This information is not enough for me
That is a shame: the AVL definition (and some way to traverse the tree) in my opinion is enough.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
Hi,
I would like to know whether there is any library for regular expression to use in c win32 api.
I am using Dev C++ IDE to develop windows programs (not applications). It is time to change to vc 6.0 for win32 api programming. anyway... even if it could be for vc 6.0 then that would also holds good. ?
Today's Beautiful Moments are
Tomorrow's Beautiful Memories
|
|
|
|
|
ATL contains an implementation called CAtlRegExp. It's a little awkward to use, though. The late Paul DiLascia created an excellent wrapper called CRegex (naturally enough). It's part of PixieLib and can be found on his web site[^].
[Edit]
Update - CAtlRegExp is no longer part of the core ATL distribution, but is included in the ATL server classes package. It can be found here[^]. The regex class is in atlrx.h.
[/Edit]
L u n a t i c F r i n g e
|
|
|
|
|
Thank you for the reply. I am new to this env so it would take some time to use it.
Today's Beautiful Moments are
Tomorrow's Beautiful Memories
|
|
|
|
|
You should probably go with the TR1 implementation mentioned below; it'll be less likely to be deprecated.
L u n a t i c F r i n g e
|
|
|
|
|
Yeah. i have to. thank you.
Today's Beautiful Moments are
Tomorrow's Beautiful Memories
|
|
|
|
|
Boost[^] contains a regular expression library called Regex.
The advantage of using this is that Regex is also part of TR1[^], so that it will be part of the C++ standard in the future and will be included as part of the standard library in upcoming C++ compilers (it was include in the April 2008 Visual Studio 2008 Feature Pack and I believe that gcc 4.0 supports it as well).
Graham
Librarians rule, Ook!
|
|
|
|
|
If you are using VC++ 2008 (or even 2005 with the feature pack), you already have TR1 regex installed. Here is a small tutorial.[^]
|
|
|
|
|
Thank you for all the above replies... this it totally new so it would take some time for me to ...
Today's Beautiful Moments are
Tomorrow's Beautiful Memories
|
|
|
|
|
I am trying to write a triple vector to a file and then read the file back into the triple vector. When I try to read the file back after its been saved the first fifty values come out correct but the rest of the values are garbage. I'd be really appreciative if someone could help me out here. Thanks a lot!
File declaration:
fstream memory_file("C:\\Users\\Amichai\\Pictures\\output.txt", ios::in | ios::out);
The write function:
void save_training_data(fstream &memory_file, vector<vector<vector<long double> > > &training_data)
{
int sizeI = training_data.size();
memory_file.write((const char *)&sizeI, sizeof(int));
for (int i=0; i < sizeI; i++)
{
int sizeJ = training_data[i].size();
memory_file.write((const char *)&sizeJ, sizeof(int));
for (int j=0; j < sizeJ; j++)
{
int sizeK = training_data[i][j].size();
memory_file.write((const char *)&sizeK, sizeof(int));
for (int k = 0; k < sizeK; k++)
{
int temp;
temp = (int)training_data[i][j][k];
memory_file.write((const char *)&temp, sizeof(int));
}
}
}
}
The read function:
void upload_memory(fstream &memory_file, vector<vector<vector<long double> > > &training_data)
{
memory_file.seekg(ios::beg);
int temp=0;
int sizeK, sizeJ, sizeI;
memory_file.read((char*)&sizeI, sizeof(int));
training_data.resize(sizeI);
for (int i=0; i < sizeI; i++)
{
memory_file.read((char*)&sizeJ, sizeof(int));
training_data[i].resize(sizeJ);
for (int j=0; j < sizeJ; j++)
{
memory_file.read((char*)&sizeK, sizeof(int));
training_data[i][j].resize(sizeK);
for (int k = 0; k < sizeK; k++)
{
memory_file.read((char*)&temp, sizeof(int));
training_data[i][j][k]=temp;
}
}
}
}
Thanks again,
Amichai
|
|
|
|
|
Just solved the problem.
The file declaration needs the ios::binary specification.
|
|
|
|
|
5 for self-solved and posting the solution
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Hi
I need declare a wchar_t array which should looks like:
strarray[1] = "ddgfdgd";
strarray[2] = "ddgfdgd ... sada";
...
strarray[n] = "ddgfdgd";
The "n" is variable.
wchar_t** strarray= new wchar_t[n][];
is not correct.
Any suggestion?
|
|
|
|
|
You need to allocate pointers to wchar_t like so:
wchar_t** strarray = new wchar_t*[n];
I tend to use the Windows types for character pointers like so:
LPWSTR* strarray = new LPWSTR[n];
[edit]Add ref to LPWSTR[/edit]
|
|
|
|
|
While Richard has answered your query, you'll be much better off using an array of std::string objects (that is - if you don't want to use something like a vector ). This means no hand crafted memory allocation or management, plus no dangling pointers or other pointer related failure modes waiting to crash your application.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
A std::wstring in his case
|
|
|
|
|
Ah, the joys of being a nitpick.
OT: How's married life? Probably too early to comment?
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Rajesh R Subramanian wrote: Ah, the joys of being a nitpick.
Rajesh R Subramanian wrote: OT: How's married life? Probably too early to comment?
Honnestly, there's not much differences... We were already living together for 3 years so, not much of a change.
|
|
|
|
|
Cedric Moonen wrote: Honnestly, there's not much differences
Don't tell her that...
|
|
|
|
|
Richard MacCutchan wrote: Cedric Moonen wrote:
Honnestly, there's not much differences
Don't tell her that...
Ouch, I already told her!
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Will be there any problems with static libs linkage and what function will be linked and executed?
There are 2 lib files generated from the same project:
1) somelib.lib
2) somelib_updated.lib
Both contain the same function names, but updated has some enhanced functionality, but all the function names are the same.
3) oneimplementation.lib has static linkage with somelib.lib
4) otherimplementation.lib has static linkage with somelib_updated.lib
In 3) it provides myfunction() which uses somelib.lib code
In 4) it provides myfunction_updated() which uses somelib_updated.lib.
Thus is it targeted that due to the fact that we can not change naming in 1) and 2) we are trying to provide wrappers for them for a final exe.
The final exe build scheme is:
1) -> 3)
---------------->final exe app
2) -> 4)
Final exe linkes only to 3) and 4)
Which functions will be linked to final exe? How to make sure 1) and 2) code will be different?
Чесноков
|
|
|
|
|
From your explainations, it will depend on your link command line.
in fact if you link 1 with 3 without providing 2 in the path, you library will have the code from 1.
It's because your are in static, so the library will copy the code during the link operation.
Otherwise you will have an error : duplicate symbols detected
My two cents
|
|
|
|