У меня есть эта функция, которую я делаю для подсчета предпочтений избирателей в C. Он настроен так, что если он находит кандидата, который не был исключен, и соответствует текущему предпочтению, которое мы проверяем, чтобы добавить голосование. Затем я заканчиваю sh, чтобы установить
preference = candidate_count +1;
, и завершаю пока l oop, но могу ли я использовать return здесь? Могу ли я использовать return для выхода из вложенного для l oop, а пока l oop до go обратно к основному для l oop?
В ситуации, когда кандидат исключается, я делаю
else preference++; j = 0;
Если бы я вернулся сюда, он бы go вернулся к вложенному для l oop. Я просто немного сбит с толку, потому что кажется, что вы можете написать код, даже не используя return, если установите базу для завершения программы.
for(int i =0; i<voter_count;i++)
{
//restart the for loop and look for preference 1
int preference =0;
while (preference <candidate_count)
{
for(int j = 0; j<candidate_count;j++)
{
if(preferences[i][j] == preference)
{
if(candidates[j].eliminated == false)
{
candidates[j].votes ++;
preference = candidate_count +1;
}
else
preference++;
j = 0;
}
}
}
}