Помогите алгоритму в латексе

Помогите алгоритму в латексе

Я хочу, чтобы вы помогли мне написать алгоритм с использованием TeXstudio с использованием циклов for. Для метода Гаусса у меня есть код:

for (int i = 0; i < N-1; i++) {
   for (int j = i; j < N; j++) {
       double ratio = A[j][i]/A[i][i];
       for (int k = i; k < N; k++) {
            A[j][k] -= (ratio*A[i][k]);
            b[j] -= (ratio*b[i]);
       }
   }
}

решение1

Одним из способов написания вашего кода было бы использование пакета listings. Тогда ваш алгоритм исключения Гаусса будет записан следующим образом:

\documentclass{article}

\usepackage{listings}
\usepackage{xcolor}

\lstset{ %
    backgroundcolor = \color{white},   % Background color
    keywordstyle    = \color{blue},    % Keyword style (just color here)
    numbers         = left,            % Add line number to the left of the code
    captionpos      = b                % Caption at the bottom of the listing
}

\begin{document}

\begin{lstlisting}[language = C, caption={Gaussian elimination algorithm}]
for (int i = 0; i < N-1; i++) {
    for (int j = i; j < N; j++) {
        double ratio = A[j][i]/A[i][i];
        for (int k = i; k < N; k++) {
            A[j][k] -= (ratio*A[i][k]);
            b[j]    -= (ratio*b[i]);
        }
    }
}
\end{lstlisting}

\end{document}

Этот код дает: введите описание изображения здесь

Если вы не хотите никаких подписей для вашего кода, просто удалите captionопцию в начале среды lstlisting. Если язык не C, вы всегда можете изменить languageопцию на язык, который вы используете.

решение2

Соответствующий псевдокод; здесь используются пакеты algorithmи .algpseudocode

\documentclass{article}

\usepackage{algorithm} % Required for pseudo code
\usepackage[noend]{algpseudocode} % Required for pseudo code

\renewcommand{\algorithmicrequire}{\textbf{Input:}} % Changes 'Require' to 'Input'

\begin{document}

\begin{algorithm}
    \caption{Caption of pseudo code}
    \begin{algorithmic}
    \Require $A$    
        \For{$i \gets 0$ to $N - 2 $}
            \For{$j \gets i$ to $N - 1 $}
                \State $ratio \gets A[j][i]/A[i][i]$
                \For{$k \gets i$ to $N - 1 $}
                    \State $A[j][k] \gets A[j][k] - (ratio*A[i][k])$
                    \State $b[j] \gets b[j] - (ratio*b[i])$
                \EndFor
            \EndFor
        \EndFor
    \end{algorithmic}
    \label{alg:code_label}
\end{algorithm}
    
\end{document}

Результат: псевдокод

Связанный контент