Aleksei Stepanenko #: Não, está tudo bem. Se não houver posições, então i=OrdensTotal()-1 será igual a -1. E a condição de loop i>=0 não será executada imediatamente. E o programa não entrará no laço.
Mas isto não é correto, a "soma das ordens" é 1, ou seja, excluiremos sempre 1 ordem do laço.
Nerd Trader #: Não entendo a que matriz todos estão se referindo aqui. Se a OrderTotal não funciona assim.
As ordens estão essencialmente em um array no programa, nós simplesmente não vemos isso. OrdensTotal é igual a ArraySize, e mostra o número total de elementos.
Em uma matriz, o índice do primeiro elemento começa sempre com zero, e o tamanho do último elemento menos um.
Пример: всего 5 ордеров, индексы: 0,1,2,3,4.
или массив из 5 элементов, индексы те же.
for(int i=5-1; i>=0; i--)
As ordens estão essencialmente em um array no programa, simplesmente não o vemos. OrdensTotal é igual a ArraySize, e mostra o número total de elementos.
O índice do primeiro elemento da matriz é sempre zero, enquanto o tamanho do último, respectivamente, é menos um.
Que diferença faz onde as ordens estão localizadas, se OrderTotal não é uma matriz. Ele retorna o número de pedidos, não o índice de matriz.
OrdersTotal é o número total, mas os índices em quase todas as linguagens de programação começam com 0, e não com 1. Acostume-se a isso. Volte uma unidade e pronto, e será o mesmo que você pensa.
As ordens estão essencialmente em um array no programa, simplesmente não o vemos. OrdensTotal é igual a ArraySize, e mostra o número total de elementos.
Em uma matriz, o índice do primeiro elemento começa sempre com zero, e o tamanho do último - menos um.
Então, total e índice de matriz são coisas diferentes, por que você acha que é a mesma coisa? Para criar um array com 1 índice, digite 1, não 0, (int ar[1]), assim ArraySize( ar ) também retorna 1, não 0.
é maior ou igual a, porque o primeiro elemento da matriz também precisa ser levado em conta, e seu índice na matriz é zero.
Não, está tudo bem. Se não houver posições, então i=OrdensTotal()-1 será igual a -1. E a condição de loop i>=0 não será executada imediatamente. E o programa não entrará no laço.
Não entendo a que matriz todos estão se referindo aqui. Se a OrderTotal não funciona assim.
As ordens estão essencialmente em um array no programa, nós simplesmente não vemos isso. OrdensTotal é igual a ArraySize, e mostra o número total de elementos.
Em uma matriz, o índice do primeiro elemento começa sempre com zero, e o tamanho do último elemento menos um.
As ordens estão essencialmente em um array no programa, simplesmente não o vemos. OrdensTotal é igual a ArraySize, e mostra o número total de elementos.
O índice do primeiro elemento da matriz é sempre zero, enquanto o tamanho do último, respectivamente, é menos um.
Que diferença faz onde as ordens estão localizadas, se OrderTotal não é uma matriz. Ele retorna o número de pedidos, não o índice de matriz.
Mas isso não é correto, acontece que "soma de ordens" é 1, o que significa que 1 ordem será sempre excluída do laço.
os pedidos estão em uma lista numerada... A lista conta regressivamente a partir de 0...
Por exemplo
número de série 0, tipo de compra, lote 0,1
número de série 1, tipo de venda, lote 1
número de série 2, tipo de venda, lote 0,5
número de sequência 3, tipo de compra, lote 0,16
Se você agora chamar OrderTotal(), ele irá = 4
Mas se quisermos navegar por todas as linhas da lista, precisamos passar pelos números 0 1 2 3, o número 4 não está aqui... embora existam 4 ordens.
Então um truque é feito, ao montar um loop, menos 1 no número de pedidos, é isso...
Que diferença faz onde as ordens estão localizadas se o OrderTotal não é uma matriz. Ele retorna o número de pedidos, não o índice de matriz.
Que diferença faz onde as ordens estão localizadas se o OrderTotal não é uma matriz
Mas isto não é correto, você recebe "soma de pedidos" - 1, ou seja, 1 pedido será sempre excluído do laço.
Se você não gosta de "-1", você pode fazer isso
As ordens estão essencialmente em um array no programa, simplesmente não o vemos. OrdensTotal é igual a ArraySize, e mostra o número total de elementos.
Em uma matriz, o índice do primeiro elemento começa sempre com zero, e o tamanho do último - menos um.
Então, total e índice de matriz são coisas diferentes, por que você acha que é a mesma coisa? Para criar um array com 1 índice, digite 1, não 0, (int ar[1]), assim ArraySize( ar ) também retorna 1, não 0.
Se você não gosta de "-1", você pode
não é correto... um pedido com o número 0 será pulado...
A maneira correta é -