Вот мой код:
\begin{algorithm}[H]
\SetAlgoLined
\KwResult{Computes Flux in x and y direction}
\KwIn{arrays flux\_x and flux\_y of length $x \times y$}
\SetKwArray{fluxx}{flux_x}
\SetKwArray{fluxy}{flux_y}
\SetKwArray{q}{q}
\For{$i \gets 0$ \textbf{to} $x$} {
\For{$j \gets 0$ \textbf{to} $y$} {
$index \gets getIndex(i,j)$
\\If{ $j \neq 0$}{
\fluxx{index} = $$\frac{1}{2} \times (\q{index} + \q{index-1}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-1}))$$
}
\\If{ $i \neq 0$}{
\fluxy{index} = $$\frac{1}{2} \times (\q{index} + \q{index-x}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-x}))$$
}
}
}
\end{algorithm}
Операторы end, которые встречаются в конце цикла for, не будут выстраиваться правильно. Оператор end для самого внутреннего цикла находится рядом с концом тела последнего if, а затем end для самого внешнего цикла находится под ним.
Я делаю что-то неправильно?
решение1
Есть дополнительные \\
s, которые не нужны, плюс я не уверен в определении \fluxx{index}
and \fluxy{index}
и добавил $$
к нему.
\begin{algorithm}
\SetAlgoLined
\KwResult{Computes Flux in x and y direction}
\KwIn{arrays $flux\_x$ and $flux\_y$ of length $x \times y$}
\SetKwArray{fluxx}{$flux_x$}
\SetKwArray{fluxy}{$flux_y$}
\SetKwArray{q}{q}
\For{$i \gets 0$ \KwTo $x$} {%
\For{$j \gets 0$ \KwTo $y$} {%
$index \gets getIndex(i,j)$\\
\If{$j \neq 0$}{%
$\fluxx{index}= \frac{1}{2} \times (\q{index} + \q{index-1}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-1}))$
}
\If{$i \neq 0$}{%
$\fluxy{index} = \frac{1}{2} \times (\q{index} + \q{index-x}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-x}))$
}
}
}
\end{algorithm}