By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,421 Members | 1,127 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,421 IT Pros & Developers. It's quick & easy.

string parser

P: n/a
Hi,
I have many strings. I have to sort them. But sorting is not according to
ascii but according to a different format (which keeps varying) . So i can
sort them based on sort-order. It is not much of a problem.

But the complex part is "equivalent-values". it can be defined that "ai" and
"ae" are equivalent-values. Then, while sorting two strings, i have to
consider that "ai" and "ae" are equal......only if they come at same
position in both the strings....
For EX1:
str1 - dfahaesdhfkj
str2 - dfahaisds
In str1, ae appears at position 4 and 5
In str2, ai appears also at position 4 and 5....

So they are equivalent.....And i can replace ae in str1 with ai......
EX2:
str3 - haehasdg
str4 - hhsdaiskdn
In str3, ae appears at position 1 and 2
In str4, ai appears also at position 4 and 5....
So here the rule "equivalent -values" does not apply......So i cant replace
"ae" in str3 with "ai".......
In short, the "equivalent-values" applies only when the
"position-matches"...

To add to that such equivalent values are many......
So can you please suggest me some way of solving this problem ....

regards,
Raghavendra
Jul 22 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Raghavendra Mahuli wrote:
I have many strings. I have to sort them. But sorting is not according to
ascii but according to a different format (which keeps varying) . So i can
sort them based on sort-order. It is not much of a problem.

But the complex part is "equivalent-values". it can be defined that "ai" and
"ae" are equivalent-values. Then, while sorting two strings, i have to
consider that "ai" and "ae" are equal......only if they come at same
position in both the strings....
For EX1:
str1 - dfahaesdhfkj
str2 - dfahaisds
In str1, ae appears at position 4 and 5
In str2, ai appears also at position 4 and 5....

So they are equivalent.....And i can replace ae in str1 with ai......
EX2:
str3 - haehasdg
str4 - hhsdaiskdn
In str3, ae appears at position 1 and 2
In str4, ai appears also at position 4 and 5....
So here the rule "equivalent -values" does not apply......So i cant replace
"ae" in str3 with "ai".......
In short, the "equivalent-values" applies only when the
"position-matches"...

To add to that such equivalent values are many......
So can you please suggest me some way of solving this problem ....


First of all, this is not a language problem. Next time please post to
comp.programming if you need some kind of algorithm. Here you only post
if you have a C++ language problem/question/issue/interesting solution.

Second of all, if you do replace every 'ae' in both strings with 'ai',
it will change nothing WRT positional matches. Just try it and see.

Victor
Jul 22 '05 #2

P: n/a
On Wed, 18 Aug 2004 16:15:36 +0530, Raghavendra Mahuli wrote:
Hi,
I have many strings. I have to sort them. But sorting is not according to
ascii but according to a different format (which keeps varying) . So i can
sort them based on sort-order. It is not much of a problem.

But the complex part is "equivalent-values". it can be defined that "ai" and
"ae" are equivalent-values. Then, while sorting two strings, i have to
consider that "ai" and "ae" are equal......only if they come at same
position in both the strings.... [snip] In short, the "equivalent-values" applies only when the
"position-matches"...

To add to that such equivalent values are many......
So can you please suggest me some way of solving this problem ....


If you aren't very carefull how you obtain such equivalencies, then the
Problem is not solvable. For example with your equivalency rules above one
can determine that aia<aez of the substitution of ai and ae. However when
you compare afa to those strings you get afa<aia and aez<afa so you get:
afa<aia<aez<afa, which destroys all possibilities of ordering.
Till

--
Please add "Salt and Peper" to the subject line to bypass my spam filter

Jul 22 '05 #3

P: n/a
But ...The rule is that "equivlent values" applies only when u have both
"ae" and "ai" at same position, otherwise we have to sort them like
individual characters....

First of all, this is not a language problem. Next time please post to
comp.programming if you need some kind of algorithm. Here you only post
if you have a C++ language problem/question/issue/interesting solution.

Second of all, if you do replace every 'ae' in both strings with 'ai',
it will change nothing WRT positional matches. Just try it and see.

Victor

Jul 22 '05 #4

P: n/a
who said that afa is less that aia??? It will be defined in a dataset.....It
is assured not to be that chaotic as u mentioned...

If you aren't very carefull how you obtain such equivalencies, then the
Problem is not solvable. For example with your equivalency rules above one
can determine that aia<aez of the substitution of ai and ae. However when
you compare afa to those strings you get afa<aia and aez<afa so you get:
afa<aia<aez<afa, which destroys all possibilities of ordering.
Till

--
Please add "Salt and Peper" to the subject line to bypass my spam filter

Jul 22 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.