<div dir="ltr"><div>Michelle,<br><br></div>Eu tinha me preocupado só com o erro enviado, não com o algoritmo. Olhando com mais atenção, vi que tu está usando o for() para algo que não pode ser feito com for() (ok, até pode, mas não é o ideal). O for() sempre vai passar por todos elementos do vetor informado, mas não é isso que tu quer que faça (tanto que, ao final do dele, tu faz com que j seja igual a j + k). Para fazer o que tu quer, é necessário usar while() ou repeat(). Se eu entendi bem o teu objetivo, segue uma sugestão de solução com while:<br><br><br> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)<br> n <- length(v)<br> matrizz<-matrix(NA,13,2)<br> j <- 1<br> while (j <= n) { <br>   k <- 1<br>   if(v[j]>4){<br>       vc<-10*v[j]  <br>       matrizz[j,1]<-vc<br>       while (v[j + k] > 3) { k <- k + 1 } <br>       vc2<-7*v[j + k]<br>       matrizz[j + k,2]<-vc2<br>     }<br>   else print("Não houve abertura de processo")<br>   j=j+k<br> }<br><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-05-12 10:48 GMT-03:00 Michelle Bau Graczyk <span dir="ltr"><<a href="mailto:mbgraczyk@gmail.com" target="_blank">mbgraczyk@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Oi Rodrigo, primeiro obrigada pela resposta.<div><br></div><div>Acho que ainda não deu certo, porque eu tentei gravar os dados e olha como fica:</div><div><br></div><div><div>> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)</div><div>> ts<-ts(v)</div><div>> matrizz<-matrix(NA,13,2)</div><span class=""><div>> for(j in 1:10){</div><div>+   </div><div>+   if(ts[j]>4){</div><div>+     </div></span><div>+     vc<-10*ts[j]  </div><div>+     matrizz[k,1]<-vc</div><div>+     for(k in (j+1):10){</div><div>+       </div><span class=""><div>+       if(ts[k]<4){</div><div>+         </div><div>+        vc2<-7*ts[k]</div></span><div>+       matrizz[k,2]<-vc2</div><span class=""><div>+       }</div><div>+     }</div><div>+   </div><div>+   }  </div><div>+   else print("Não houve abertura de processo")</div><div>+   j=j+k</div><div>+   </div></span><span class=""><div>+ }</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div></span><div>> vc2 </div><div>[1] 14</div><div>> vc</div><div>[1] 70</div><div>> matrizz</div><div>      [,1] [,2]</div><div> [1,]   NA   NA</div><div> [2,]   NA   NA</div><div> [3,]   NA   NA</div><div> [4,]   NA   NA</div><div> [5,]   NA   NA</div><div> [6,]   NA   NA</div><div> [7,]   NA   NA</div><div> [8,]   NA   NA</div><div> [9,]   NA   14</div><div>[10,]   70   NA</div><div>[11,]   NA   NA</div><div>[12,]   NA   NA</div><div>[13,]   NA   NA</div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">Em 12 de maio de 2016 10:27, Rodrigo Coster <span dir="ltr"><<a href="mailto:rcoster@gmail.com" target="_blank">rcoster@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Nos 2 comandos, tenta substituir:<br><br><b> for(k in j+1:10){</b><br><br></div>por<br><br> <b>for(k in (j+1):10){<br><br></b></div>Acredito que isso seja suficiente para funcionar<b><br></b></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>2016-05-12 10:20 GMT-03:00 Michelle Bau Graczyk <span dir="ltr"><<a href="mailto:mbgraczyk@gmail.com" target="_blank">mbgraczyk@gmail.com</a>></span>:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Caros, bom dia,<div><br></div><div>Estou com um problema de lógica de programação. O que eu esperava era o seguinte: se ts[j]>4, eu abro uma operação e ela só para quando ts[j]<4. Enquanto uma operação está aberta, não se pode abrir mais nenhuma. Para isso eu tentei fazer de duas formas, usando e não usando o while, mas eu não consegui.</div><div><br></div><div>Alguém teria alguma idéia sobre o que eu ando pensando errado?</div><div><br></div><div>Muito obrigada,</div><div><br></div><div>Michelle</div><div><br></div><div>Primeira opção:</div><div><br></div><div><div>> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)</div><div>> ts<-ts(v)</div><div>> </div><div>> for(j in 1:10){</div><div>+   if(ts[j]>4){</div><div>+     #vende</div><div>+     #compra</div><div>+     #compra</div><div>+     vc<-10*ts[j]  </div><div>+     while(ts[j+1]>4) j=j+1</div><div>+     for(k in j+1:10){</div><div>+       if(ts[k]<4){</div><div>+        vc2<-7*ts[k]</div><div>+      </div><div>+       }</div><div>+     }</div><div>+   }  </div><div>+   else print("Não houve abertura de processo")</div><div>+   j=j+k</div><div>+   vc2</div><div>+   vc</div><div>+ }</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div><div>Error in if (ts[k] < 4) { : valor ausente onde TRUE/FALSE necessário</div><div>> vc2 </div><div>[1] 14</div><div>> </div><div>> vc</div><div>[1] 80</div></div><div><br></div><div>Segunda opção:</div><div><br></div><div><div>> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)</div><div>> ts<-ts(v)</div><div>> </div><div>> for(j in 1:10){</div><div>+   if(ts[j]>4){</div><div>+     #vende</div><div>+     #compra</div><div>+     #compra</div><div>+     vc<-10*ts[j]  </div><div>+     for(k in j+1:10){</div><div>+       if(ts[k]<4){</div><div>+        vc2<-7*ts[k]</div><div>+      </div><div>+       }</div><div>+     }</div><div>+   }  </div><div>+   else print("Não houve abertura de processo")</div><div>+   j=j+k</div><div>+   vc2</div><div>+   vc</div><div>+ }</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div><div>[1] "Não houve abertura de processo"</div><div>Error in if (ts[k] < 4) { : valor ausente onde TRUE/FALSE necessário</div><div>> vc2 </div><div>[1] 14</div><div>> </div><div>> vc</div><div>[1] 80</div></div></div>
<br></div></div>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>