Ir ao conteúdo
  • Cadastre-se

Transformar código C em Pascal


Visitante: Cesar Augusto N.

Posts recomendados

Visitante: Cesar Augusto N.
 

Alguem ai consegue transformar o código editado aqui em C para Pascal?



#define MAX 5

typedef struct {
int inicio;
int final;
int tamanho;
int vetor[MAX];
} Fila;

Fila* criaFila();
void liberaFila(Fila* f);
int estahVazia(Fila* f);
int estahCheia(Fila* f);
int enfileirar(Fila* f, int valor);
int desenfileirar(Fila* f, int* valor);
void mostrarFila(Fila* f);

Arquivo “FilaCircular.c”

#include
#include
#include "fila.h"

Fila* criaFila( ) {

Fila* f;
f = malloc(sizeof(Fila));

f->inicio = 0; //(*f).inicio = 0;
f->final = 0; //(*f).final = 0;
f->tamanho = 0; //inicializar o tamanho

return f;
}

void liberaFila(Fila* f) {
free(f);
f = NULL;
}

int estahVazia(Fila* f) {
if (f->tamanho == 0)
return 1; //Fila vazia
else
return 0;
}

int estahCheia(Fila* f) {
if (f->tamanho == MAX)
return 1; //fila cheia
else
return 0;
}

int enfileirar(Fila* f, int valor) {
if ( ! estahCheia(f) ) {
f->vetor[f->final] = valor;
f->final++;

if (f->final == MAX) //Girar o vetor
f->final = 0;

f->tamanho++; //incrementar o tamanho

return 1;

} else
return 0;
}

void mostrarFila(Fila* f) {

int i = f->inicio;
int aux = 0;
printf("\n");

while (aux < f->tamanho) {
printf("%d | ", f->vetor[i]);
i++;

if (i == MAX)
i = 0;

aux++;
}
}

int desenfileirar(Fila* f, int* valor) {

if ( ! estahVazia(f) ) {

*valor = f->vetor[f->inicio];
f->inicio++;

if (f->inicio == MAX)
f->inicio = 0;

f->tamanho--;

return 1;
} else
return 0;

}
Arquivo “FilaCircular.h”

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...