Welcome to our community

Be a part of something great, join today!

Discrete maths problem - tracing an algorithm

Sterling

New member
Jun 10, 2019
2
Hello,

I'm working on a discrete mathematics for computing paper and am stuck on what a symbol is trying to convey. Sorry if this seems like a stupid question (I feel stupid for not being able to work it out myself), I've just started this subject and am still getting used to it.

My question is what does the Xc mean in this algorithm (picture attached)? I understand that X1, X2 etc are the different variables, but does the Xc have something to do with the variable C := 1? If so, what does that symbol mean? I.e. what am I supposed to do with the variable in relation to C?

I hope this is clear enough and that once it's been explained to me I can crack on with the paper. Thank you very much in advance.

DM screen.PNG
 
Last edited by a moderator:

Ackbach

Indicium Physicus
Staff member
Jan 26, 2012
4,189
It's indexing. So you have a bunch of values, $x_1, x_2, \dots,x_n,$ right? As you're looping through the repeat section, you're updating $c$. When you start, you have $c=1,$ so that $x_c=x_1.$ The next time you come through the loop, $c$ has been incremented by one, which is what the $c:=c+1$ line does. That means this time through the loop, $c=2,$ making $x_c=x_2.$ So essentially, the incrementing of $c$ allows you to examine each of the $x_1, x_2,\dots,x_n$ values one-by-one. Does that help?
 

Sterling

New member
Jun 10, 2019
2
It's indexing. So you have a bunch of values, $x_1, x_2, \dots,x_n,$ right? As you're looping through the repeat section, you're updating $c$. When you start, you have $c=1,$ so that $x_c=x_1.$ The next time you come through the loop, $c$ has been incremented by one, which is what the $c:=c+1$ line does. That means this time through the loop, $c=2,$ making $x_c=x_2.$ So essentially, the incrementing of $c$ allows you to examine each of the $x_1, x_2,\dots,x_n$ values one-by-one. Does that help?
Ah right, so essentially the i variable is counting how many 1's are in the input? I.e. in this algorithm i would equal 4 by the end? And the loop stops when C = 7? If I'm correct in that thinking then I've understood your explanation, and if I'm wrong then clearly I've missed something.

Thank you very much for your help, it makes sense to me (I think) now. It seems stupid to have not understood such a basic concept as indexing. Thank you.
 

Ackbach

Indicium Physicus
Staff member
Jan 26, 2012
4,189
Ah right, so essentially the i variable is counting how many 1's are in the input?
Yep!

I.e. in this algorithm i would equal 4 by the end?
Yes, I would agree.

And the loop stops when C = 7?
Also correct.

If I'm correct in that thinking then I've understood your explanation, and if I'm wrong then clearly I've missed something.

Thank you very much for your help, it makes sense to me (I think) now. It seems stupid to have not understood such a basic concept as indexing. Thank you.
You're very welcome!