LaTeX, listado de dos columnas en una matriz

LaTeX, listado de dos columnas en una matriz

Estoy intentando mostrar los códigos uno al lado del otro, usando esto:

\begin{center} \begin{tabular}{c|c}  \begin{lstlisting}
while (x > 0) do
  x++; \end{lstlisting} & \begin{lstlisting}
x = 0; \end{lstlisting}  \end{tabular}\end{center}

Esto es lo que se muestra después de la compilación:lista de códigos de látex

El problema es que la línea vertical de la tabla va demasiado lejos. Intenté jugar con los parámetros de lstlisting debajo de saltar y arriba de saltar, y también intenté usar minipáginas, pero nada parece funcionar correctamente.

Mi segundo problema es que al usar el código anterior, el segundo código ("x = 0;") no está alineado con el while. EDITAR: el segundo problema se resuelve usando minipáginas, gracias a cfr

Sabes cómo resolver esto ?

Respuesta1

ingrese la descripción de la imagen aquí

Obtuvimos la imagen de arriba con la ayuda del arraypaquete, puede cambiar el ancho de las columnas como desee

% \usepackage{array}  


\begin{center} 
\begin{tabular}{p{3.9cm}|p{3.9cm}} 
 \begin{lstlisting}
while (x > 0) do
  x++; \end{lstlisting} &
   \begin{lstlisting}
x = 0; \end{lstlisting}  
\end{tabular}
\end{center} 

información relacionada