Dies ist mein Code:
\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}
Die Endanweisungen am Ende einer For-Schleife werden nicht richtig angeordnet. Die Endanweisung für die innerste Schleife steht neben dem Ende des letzten if-Hauptteils, und darunter steht die Endanweisung für die äußerste Schleife.
Mache ich etwas falsch?
Antwort1
Es sind \\
keine zusätzlichen „s“ erforderlich und außerdem bin ich mir über die Bedeutung von \fluxx{index}
„und“ nicht sicher, das \fluxy{index}
hinzugefügt wurde $$
.
\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}