Ir para conteúdo
Fórum Script Brasil

Eduardo Paz

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Eduardo Paz

Eduardo Paz's Achievements

0

Reputação

  1. Olá, tenho que desenvolver um programa em C para implementação de bits de referência, possuo o código inicial, porém não sei como continuar, se alguém puder dar uma ajuda agradeço Segue código inicial #include <stdio.h> #include <stdlib.h> #define MAX_P 32 /* Número máximo de páginas */ #define MAX_Q 16 /* Núḿero máximo de quadros */ #define MAX_T 16 /* Valor máximo do tamanho do histórico em bits */ #define MAX_I 200 /* Valor máximo do intervalo de atualização do histórico */ #define MAX_N 100 /* Número máximo de acessos a páginas */ typedef struct { int valido; int quadro; int t_carga; int bit_ref; int hist[MAX_T]; int val_br_hist; } PAGINA; int main() { int p, q, t, i, n, a[MAX_N]; PAGINA tab_pagina[MAX_P]; int quadros[MAX_Q]; /* Controla quadros livres */ int j,k,l,pagina,atualizacao,q_livre,menor,falhas; while (1) { /* LEITURA */ scanf("%d%d%d%d%d",&p,&q,&t,&i,&n); if (p==0 || q==0 || t==0 || i==0 || n==0) break; if (p<0 || p>MAX_P || q<0 || q>MAX_P || t<0 || t>MAX_T || i<0 || i>MAX_I || n<0 || n>MAX_N) exit(5); for (j=0;j<n;++j) { scanf("%d",&(a[j])); if (a[j]<0 || a[j]>=p) exit(5); } /* IMPLEMENTAÇÃO */ /* Inicialização da Tabela de Páginas */ for (j=0;j<p;++j) { tab_pagina[j].valido = 0; tab_pagina[j].bit_ref = 0; for (k=0;k<t;++k) tab_pagina[j].hist[k]=0; } /* ... */ /* SAÍDA */ printf("%d\n",falhas); for (j=0;j<p;++j) { if (tab_pagina[j].valido) printf("%d",tab_pagina[j].quadro); else printf("-"); printf(" %d ",tab_pagina[j].bit_ref); for (k=t-1;k>=0;--k) printf("%d",tab_pagina[j].hist[k]); printf("\n"); } printf("\n"); } return 0; } Obrigado pela ajuda!
×
×
  • Criar Novo...