\input cwebmac
% Zé Augusto 8/98

\documentclass[language=brazil,structure=flat]{cweb}

%% Escrevendo em português:
\usepackage[brazil]{babel}
\usepackage[T1]{fontenc}
%----------------------------

\setlength{\topmargin}{-0.5in}
\setlength{\textheight}{9in}
\setlength{\oddsidemargin}{-.125in}
\setlength{\evensidemargin}{-.125in}
\setlength{\textwidth}{6.75in}

\begin{document}




\title{{\small Exemplo de Uso do Stanford GraphBase usando \texttt{CWEB}-\LaTeX%
\\
MAC 328 --- Introdução à Teoria dos Grafos --- 1998 \\}
Rotina para exibir um grafo}
\author{Zé Augusto}

\maketitle

\tableofcontents


\N{3}{1}Descrição.
Esta rotina, que é feita para ser usada por outros programas,
exibe um grafo que usa as estruturas de dados do Stanford GraphBase.

\fi

\M{2}Vamos querer gera o arquivo \textit{header} para ser incluído por
outros programas.
\Y\B\4\X2:\.{mostra\_grafo.h }\X${}\E{}$\6
\&{void} \\{mostra\_grafo}(\&{Graph} ${}{*}){}$;\par
\fi

\M{3}Aqui vai a função \\{mostra\_grafo}.

\Y\B\8\#\&{include} \.{<stdio.h>}\6
\8\#\&{include} \.{"gb\_graph.h"}\6
\&{void} \\{mostra\_grafo}(\&{Graph} ${}{*}\\{grafo}){}$\1\1\2\2\6
${}\{{}$\5
\1\&{register} \&{Vertex} ${}{*}\|v{}$;\C{ o vértice sendo visitado }\7
${}\\{printf}(\.{"\\n\ \ O\ grafo\ cujo\ no}\)\.{me\ oficial\ e':\ \%s\\n"},\39%
\\{grafo}\MG\\{id});{}$\6
${}\\{printf}(\.{"\ \ tem\ \%ld\ vertices\ }\)\.{e\ \%ld\ arestas\\n\\n"},\39%
\\{grafo}\MG\|n,\39\\{grafo}\MG\|m/\T{2});{}$\6
\&{for} ${}(\|v\K\\{grafo}\MG\\{vertices};{}$ ${}\|v<\\{grafo}\MG\\{vertices}+%
\\{grafo}\MG\|n;{}$ ${}\|v\PP){}$\5
${}\{{}$\1\6
\&{register} \&{Arc} ${}{*}\|a{}$;\C{ aresta com uma ponta em \|v }\7
${}\\{printf}(\.{"Arestas\ do\ vértice\ }\)\.{\%s\\n"},\39\|v\MG\\{name});{}$\6
\&{for} ${}(\|a\K\|v\MG\\{arcs};{}$ \|a; ${}\|a\K\|a\MG\\{next}){}$\1\5
${}\\{printf}(\.{"\ \ \%s\ ->\ \%s\ len\ =\ \%d}\)\.{\ \\n"},\39\|v\MG\\{name},%
\39\|a\MG\\{tip}\MG\\{name},\39\|a\MG\\{len});{}$\2\6
\4${}\}{}$\2\6
\4${}\}{}$\2\par
\fi

\M{4}

\cwebIndexIntro{%
Aqui vai uma lista de identificadores usados e onde eles aparecem.
Entradas grifadas indicam os lugares de definições. Mensagens de erros
também são mostradas.
}

\end{document}

\fi


\inx
\fin
\con
