| Topic: |
DEVELOP > c-Plus-Plus |
| User: |
"Joah Senegal" |
| Date: |
17 Dec 2007 09:04:50 AM |
| Object: |
converting some simple pseudocode to c++ |
Hello all,
I;m a beginner C++ and I;m trying to convert some pseudocode into C++. Its
pseudo code of the peterson algorithm for N-processes.
I almost converted the whole code. But the last lines are very hard.
This is the pseudo code:
for [ k=1 to n except k==i ]
This is pretty simple code although I don;t know how to convert in into c++
because of the except in the pseudocode. for [k=1 to n] to c++ is for
(k=1;k<n;k++). i dont understand it because of the except.
Is there anyone who can tell me what the C++ code is for the above pseudo
code?
I;ve another little bit more complex part of pseudocode as well
wait until ((for all k<>i q[k]<j) or (turn[j]<>i)).
Is there anyone who can give me the c-code for one of this pseudo codes ? I
would be very gratefull if anyone can translate one of the pseudocodes. this
one is the most important
for [ k=1 to n except k==i ]
many many thanks!!!!
.
|
|
| User: "Victor Bazarov" |
|
| Title: Re: converting some simple pseudocode to c++ |
17 Dec 2007 09:33:02 AM |
|
|
Joah Senegal wrote:
I;m a beginner C++ and I;m trying to convert some pseudocode into
C++. Its pseudo code of the peterson algorithm for N-processes.
I almost converted the whole code. But the last lines are very hard.
This is the pseudo code:
for [ k=1 to n except k==i ]
This is pretty simple code although I don;t know how to convert in
into c++ because of the except in the pseudocode. for [k=1 to n] to
c++ is for (k=1;k<n;k++).
Note that in Lance's answer the condition for the loop is k<=n, not
k<n like you gave here.
i dont understand it because of the except.
Is there anyone who can tell me what the C++ code is for the above
pseudo code?
I;ve another little bit more complex part of pseudocode as well
wait until ((for all k<>i q[k]<j) or (turn[j]<>i)).
Since C++ does not have "wait" equivalent, you might want to give
more context to see if the translation is possible. Of course,
most likely, due to 'for all' a single-line translation isn't what
you'd naturally come up with. 'for all' needs a loop. Even if
you manage to utilise standard function like 'for_each' or some
such, you would still most likely need a functor, which will be
written as a separate class. For now this is what it looks like
to me:
wait_here:
// wait somehow
bool all_q_are_less_than_j = true;
for (int k = start_k; k <= end_k; ++k) { // start_k, end_k???
if (k != i && !(q[k] < j)) {
all_q_are_less_than_j = false;
break;
}
}
// here is your 'until'
if (all_q_are_less_than_j || turn[j] != i)
// do something, like move forward or whatever...
else
goto wait_here;
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
.
|
|
|
|
| User: "Lance Diduck" |
|
| Title: Re: converting some simple pseudocode to c++ |
17 Dec 2007 09:08:22 AM |
|
|
On Dec 17, 10:04 am, "Joah Senegal" <blo...@hva.nl> wrote:
Hello all,
I;m a beginner C++ and I;m trying to convert some pseudocode into C++. Its
pseudo code of the peterson algorithm for N-processes.
I almost converted the whole code. But the last lines are very hard.
This is the pseudo code:
for [ k=1 to n except k==i ]
This is pretty simple code although I don;t know how to convert in into c++
because of the except in the pseudocode. for [k=1 to n] to c++ is for
(k=1;k<n;k++). i dont understand it because of the except.
Is there anyone who can tell me what the C++ code is for the above pseudo
code?
I;ve another little bit more complex part of pseudocode as well
wait until ((for all k<>i q[k]<j) or (turn[j]<>i)).
Is there anyone who can give me the c-code for one of this pseudo codes ? I
would be very gratefull if anyone can translate one of the pseudocodes. this
one is the most important
for [ k=1 to n except k==i ]
many many thanks!!!!
for(int k=1,k!=n;++k){
if(k==i)continue;
//do stuff
}
.
|
|
|
|

|
Related Articles |
|
|