Почему я не могу заставить этот l oop остановиться? Мой трекер - это массив, заполненный случайным числом элементов в диапазоне от 1 до 10. Допустим, размер этого массива равен 50. Я хочу проверить, что все значения от 1 до 10 находятся в массиве, проверяя запись, когда номер появляется первым в массиве. Я также хочу отслеживать наибольшее значение для записи и сохранять его как numberOfHops, и поэтому, если все числа находятся в массиве, вывод должен быть numberOfHops.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, k, m, entry = 0, numberOfHops = 0;
const int L = 10;
int tracker[50] ={1, 2, 3, 2, 1, 10, 9, 8, 7 , 6 //etc etc//};
int sitesVisited = 0;
for (k =1; k<=L; k++ )
{ do {
m=0;
if (k == tracker[m])
{
sitesVisited += 1;
entry = m;
}
if (entry > numberOfHops)
{
numberOfHops = entry;
}
m++;
} while (sitesVisited < k);
}
if (sitesVisited == L) {
printf("Particle took %d hops to explore environment.\n", numberOfHops);
}
else {
printf("Particle did not explore entire environment.");
}
}