【发布时间】:2020-02-03 19:57:24
【问题描述】:
我正在为一门分析编程课程编写语言,该课程要求我检查向量中的重复元素。虽然我能够编写逻辑代码,但我试图在代码中使用“中断”,这样一旦我找到重复项,它就不会贯穿其余元素。在我的代码中,我能够跳出“while 循环”,但不能跳出“for 循环”。我可以使用有关如何添加第二个中断的建议,以便计数器在下面的 3 处停止,并且不会跳回 for 循环。
x <- c(3, -7, 6, 3, 1, -7)
n <- length(x); n # = 6
counter <- 0
answer <- FALSE
for (i in 1:(n-1)) {
v <- i + 1
while (v <= n) {
counter <- counter + 1
if (x[i] == x[v]) {
answer <- TRUE
break
}
else {
v <- v + 1
}
}
}
answer # = TRUE
counter # = 13, SHOULD BE 3
我希望在 3 个循环处停止,但是我在括号后添加的中断没有起作用,所以我只是在 while 循环中成功添加了中断,但它仍在遍历剩余的元素。
【问题讨论】:
标签: r for-loop while-loop