0
So i have an Array{4,7,5,8,1,3,9,2,6,0} need to write a continuous loop
I need to print an output 0 So the loop condition is that it should start with position 0.So 0 position has value 4 so now the position should shift to 4 which has value 1 then again to position 1 which has value 7 and so on......and finally it need to print 0 which is in position 9
3 ответов
+ 7
Rohit Reddy Ch I added some comments in the code and verbose output to explain what happens in the loop, hope it helps.
Thank you ; )
+ 4
This is my noob way to it in C++
#include <iostream>
int main()
{
int arr[] {4,7,5,8,1,3,9,2,6,0};
unsigned int index {0};
// The loop is infinite, but with the help
// of 'if' condition in loop body the loop
// will stop when arr[index] equals zero
while(true)
{
// print the value of arr[index]
// *** Commented temporarily ***
//std::cout << arr[index] << " ";
// This section will show what is
// happening during the loop
std::cout << "Current index: "
<< index << " arr[" << index << "] = "
<< arr[index] << "\n "
<< "Next index to be used: "
<< arr[index] << "\n";
// Exit the loop if the arr[index]
// value is zero
if(!arr[index]) break;
// Use the value of arr[index]
// for the next referred index
index = arr[index];
}
return 0;
}
Hth, cmiiw
+ 1
Hi Rohit,
I wrote this in Javascript, and hope this is what you're asking for.
please note that the "document.write()" is only for testing.
you can replace it with "console.log()" or whatever you need.
var x = [4,7,5,8,1,3,9,2,6,0];
for (var i = 0; i < x.length; i) {
document.write("<br> i is now " + i);
i = x[i];
document.write("<br> i is now " + i);
if (i == 0) {
document.write("<br> i is now ZERO... END");
break;
}
}