Как использовать что-то вроде оператора continue во вложенных циклах for?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Как использовать что-то вроде оператора continue во вложенных циклах for?

Сообщение Гость »


У меня есть класс объектов, и мне нужно сравнить одно свойство каждого объекта с тем же свойством всех остальных объектов. Если они совпадают, код должен что-то сделать. Это приводит к тому, что два цикла for обходят объекты, чтобы получить это свойство, а во втором цикле for существует третий цикл for, проходящий через элементы свойства (который является вектором) для их сравнения. . Если они совпадают, мне нужен самый внешний цикл for, чтобы прервать текущую итерацию и перейти к следующей (я хочу, чтобы учитывалось только первое совпадение с другим объектом).

Я изучил операторы goto и создал структуру do{} while(), но не смог реализовать их таким образом, чтобы получить желаемый результат. Мне нужно что-то вроде оператора «продолжить» для самого внешнего цикла, основанного на том, что происходит в условном операторе во внутреннем самом цикле.

Какой метод будет хорошим для достижения этой цели и как его нужно реализовать?

Редактировать: Помимо принятого мной ответа, я бы также рекомендовал ответ Мартина Боннера, который также отлично работает и не зависит от перехода.

for (int i = 0; i < max; i++){ Объект и объект1 = system.getAgent(i); VectorOfStrings object_property1 = object1.getProperty(); for (int j = i + 1; j < max; j++){ Объект и объект2 = system.getObject(j); VectorOfStrings object_property2 = object2.getProperty(); for (unsigned int k = 0; k < object_property1.size(); k++){ if (object_property1[k] == object_property2[k]){ //сделай что-нибудь перерыв; //это прерывает самый внутренний цикл //Кроме того, мне нужно, чтобы самый внешний цикл перемещался за одну итерацию } } } } Поэтому, если условие в цикле «k» выполнено, я хочу, чтобы цикл «i» прервал текущую итерацию и перешел к следующей.

Кроме того, поскольку я новичок, код может быть неэлегантным, но, пожалуйста, сосредоточьтесь на этой конкретной проблеме в своих ответах! Если, конечно, общая реструктуризация кода не решит проблему :)
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать оператор FOR с continue/escape/break в этом коде Django?
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Проблема C++: «разрыв» во вложенных циклах for не работает должным образом?
    Anonymous » » в форуме C++
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Проблема C++: «разрыв» во вложенных циклах for не работает должным образом?
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Удалить во вложенных циклах (удалить внутри foreach)
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Операции на месте при вычислении градиента во вложенных циклах PyTorch
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»