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

#include <stdio.h>
#include <windows.h>
 
int main(){
int p,m;
printf("Entre o numero de blocos de memoria:");
scanf("%d",&m);
int parr[p];
struct memoria{
int tamanho;
}marr[m];
 
int i;
 
for(i=0;i<p;i++)
{
{
printf("Entre o tamanho do bloco de memoria %d:",i+1);
scanf("%d",&marr[i].sizetamanho);
marr[i].id=i+1;
}
int j;
int tamanho = 0;
for(i; tamanho <= marr[i].sizetamanho; i++ )
tamanho = marr[i].sizetamanho;
int tamanho_velho = tamanho ;
int im ;
bool marcador = false ;
for(i=0;i<p;i++){
for(j=0;j<m;j++){
if((marr[j].tamanho>=parr[i]) && (marr[j].tamanho < tamanho) ){
 
im = j;
tamanho = marr[j].tamanho;
marcador = true ;
}
}
if(marcador){
marcador = false ;
tamanho = tamanho_velho ;
printf("Aloca o processo %d no bloco memoria %d\n Tamanho restante apos alocar%d\n\n",i+1,marr[im].id,marr[im].tamanho);
}else {printf("Memoria insuficiente para o processo %d",i);break;}
}
system ("pause");
return 0;
}
 
</syntaxhighlight>
 
Utilizador anónimo