У меня есть класс объектов, и мне нужно сравнить одно свойство каждого объекта с тем же свойством всех остальных объектов. Если они совпадают, код должен что-то сделать. Это приводит к тому, что два цикла 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» прервал текущую итерацию и перешел к следующей.
Кроме того, поскольку я новичок, код может быть неэлегантным, но, пожалуйста, сосредоточьтесь на этой конкретной проблеме в своих ответах! Если, конечно, общая реструктуризация кода не решит проблему
