string parser

R

Raghavendra Mahuli

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
 
V

Victor Bazarov

Raghavendra said:
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
 
T

Till Crueger

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
 
R

Raghavendra Mahuli

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....
 
R

Raghavendra Mahuli

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...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,175
Messages
2,570,942
Members
47,490
Latest member
Finplus

Latest Threads

Top