Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include "dinamico.h"
- int num_instancias(FILE *f){
- char vetor [1000] ;
- int instancias,cont=0;
- while(!feof(f)){
- fgets(vetor,200,f);
- cont++;
- }
- instancias = cont/2;
- return instancias;
- }
- void preenche_matriz(int** matriz,int numero_variacoes,int volume_maximo){
- int i,j;
- for (i=0;i<numero_variacoes;i++){
- for(j=0;j<=volume_maximo;j++)
- matriz[i][j]= 0;
- }
- }
- void matriz_dinamica(int **matriz, int* vetor_variacoes, int volume_inicial, int volume_maximo, int numero_variacoes){
- int i,j, resultado=0, conta_vetor=numero_variacoes-1, posicao, posicao_sub, posicao_final;
- for (j=0;j<=volume_maximo;j++){
- resultado = (j) + vetor_variacoes[conta_vetor];
- if (resultado>volume_maximo ) resultado = (j) - vetor_variacoes[conta_vetor];
- if (resultado<0) resultado =-1;
- matriz[numero_variacoes-1][j] = resultado;
- }
- for (i=numero_variacoes-2;i>=0;i--){
- for (j=0;j<=volume_maximo;j++){
- posicao = j+ vetor_variacoes[conta_vetor-1];
- posicao_sub = j - vetor_variacoes[conta_vetor-1] ;
- if(posicao>volume_maximo) posicao = -1;
- else posicao = matriz[i+1][posicao];
- if(posicao_sub<0) posicao_sub = -1;
- else posicao_sub = matriz[i+1][posicao_sub];
- if (posicao < posicao_sub) posicao_final = posicao_sub;
- else posicao_final = posicao;
- matriz[i][j]= posicao_final;
- }
- conta_vetor--;
- }
- printf("%d\n", matriz[0][volume_inicial]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement