Programar em C/Algoritmo de alocação: diferenças entre revisões

[revisão pendente][revisão pendente]
int main(){
int p,m;
printf("EnterEntre numbero ofnumero processesde processos:");
scanf("%d",&p);
printf("EnterEntre numbero ofnumero Memoryde blocksblocos de memoria:");
scanf("%d",&m);
int parr[p];
struct memmemoria{
int id; // identificador
int sizetamanho;
}marr[m];
 
for(i=0;i<p;i++)
{
printf("EnterEntre sizeo oftamanho processdo processo %d:",i+1);
scanf("%d",&parr[i]);
}
for(i=0;i<m;i++)
{
printf("EnterEntre sizeo oftamanho memorydo bloco de memoria %d:",i+1);
scanf("%d",&marr[i].size);
marr[i].id=i+1;
}
int j;
int sizetamanho = 0;
for(i; sizetamanho <= marr[i].size; i++ )
sizetamanho = marr[i].size;
int old_sizetamanho_velho = sizetamanho ;
int im ;
bool marcador = false ;
for(i=0;i<p;i++){
for(j=0;j<m;j++){
if((marr[j].sizetamanho>=parr[i]) && (marr[j].sizetamanho < sizetamanho) ){
 
im = j;
sizetamanho = marr[j].sizetamanho;
marcador = true ;
if(marcador){
marcador = false ;
marr[im].sizetamanho-=parr[i];
sizetamanho = old_sizetamanho_velho ;
printf("AllocatingAloca processo processo %d tono memorybloco memoria %d\n Size remaining in itTamanho afterrestante allocationapos alocar%d\n\n",i+1,marr[im].id,marr[im].sizetamanho);
}else {printf("NotMemoria enoughinsuficiente memorypara foro processprocesso %d",i);break;}
Utilizador anónimo