我的代码有什么问题,请不要关闭我的主题
\documentclass[12pt,a4paper]{report}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage{algorithmic}
\begin{document}
\begin{algorithm}[H]}{
\caption{Algorithm Gaussian elimination with patrial pivoting}
\SetAlgoLined
\For{$i=1:1:n$}{
$p_{i} = i;$
}
\For{$k=1:1:n$}{
}
{
}
$max=|a_{pk}k|$\\
\For{$i\;=k+1:1:n$}{
\If{$max=|a_{pk}k|$}{$l= i;$\\$max = |a_{pk}k|$}
}
{
}
$r=pl;$\\
$pl = pk$\\
$pk = r;$
\For{$i=k+1:1:n$}{
{
{
$a_{pi}k = a_{pi}ka_{pk}k;$
}
{
}
{
}
\For{$j=k+1:1:n$}{
$a_{pi}k = a_{pi}ka_{pk}k;$
}
}
}
}
\end{algorithm}
\end{document}
我可以解决它。
答案1
这是经过编译的格式更好的代码版本。您需要了解以下差异:
用于
\;
行尾。它会打印一个;
。如果您不想要分号,请将其添加\DontPrintSemicolon
到您的序言中。如果它不执行任何操作,请不要在代码中添加不必要的块
{
...}
从根本上讲,问题在于您在 之后有一个开始/结束括号
\begin{algorithm}[H]
。请将其删除。
\documentclass{article}
\usepackage[ruled,vlined]{algorithm2e}
\begin{document}
\begin{algorithm}
\caption{Algorithm Gaussian elimination with partial pivoting}
\SetAlgoLined
\For{$i=1:1:n$}{
$p_i = i;$
}
\For{$k = 1 : 1 : n$}{
}
$max=|a_{pk} k|$\;
\For{$i = k + 1 : 1 : n$}{
\If{$max=|a_{pk} k|$}{
$l = i$\;
$max = |a_{pk} k|$
}
}
$r = pl$\;
$pl = pk$\;
$pk = r$\;
\For{$i = k + 1 : 1 : n$}{
$a_{pi} k = a_{pi} k a_{pk} k$\;
}
\For{$j = k + 1 : 1 : n$}{
$a_{pi} k = a_{pi}k a_{pk} k$\;
}
\end{algorithm}
\end{document}
从数学角度来说,$max$
表示m
× a
× x
。使用 可能更好$\mathrm{max}$
。