Por exemplo: A tarefa 4 depende da 2, pra ser feita, isto é, não dá pra fazer a 4 enquanto a 2 não for feita.
A entrada do meu programa seria um .txt com uma tabela com as tarefas e as dependencias, onde o primeiro número é a tarefa e depois as quais ela depende ( se tiver zero não depende de nenhuma ).
Estou usando essa como teste:
1 0 0 0
5 0 0 0
3 1 7 0
2 1 5 0
8 5 0 0
6 2 8 0
7 6 0 0
4 3 0 0
E meu programa:
Código:
#include <stdio.h>
#define LINE 8
#define COLUMN 4
int main(){
FILE *ifp;
ifp = fopen("entrada.txt", "r");
int matriz[LINE][COLUMN], i, j, h, k, m, n, array[LINE];
for(m = 0; m < LINE; ++m)
array[m] = 0;
for(i = 0; i < LINE; ++i)
for(j = 0;j < COLUMN; ++j)
matriz[i][j] = 0;
for(i = 0; i < LINE; ++i)
for(j = 0;j < COLUMN; ++j)
fscanf(ifp,"%d",&matriz[i][j]);
for(i = 0; i < LINE; ++i)
for(j = 0;j < COLUMN; ++j){
if(j % LINE == 0)
printf("\n");
printf("%d ", matriz[i][j]);
}
printf("\n\n");
for(i = 0; i < LINE; i++){
if( matriz[i][1] == 0) {
array[i] = matriz[i][0];
for(m = 0; array[m] != ''; m++)
for(h = 0; h < LINE; h++)
for(k = 1; k < COLUMN; k++){
if(matriz[h][k] == array[m]){
for(n = k; n < (COLUMN - 1); ++n)
matriz[h][n] = matriz[h][n + 1];
}
}
}
}
for(i = 0; i < LINE; ++i)
printf("%d -> ", array[i]);
return(0);
}
O problema é que meu array (onde sairiam as tarefas em ordem) não está como deveria ser. Outra coisa é que ele só lê a tabela uma vez, e mesmo colocando um loop, não deu certo.
Pergunta
dehlonghi
Bom, quero fazer um organizador de tarefas.
Por exemplo: A tarefa 4 depende da 2, pra ser feita, isto é, não dá pra fazer a 4 enquanto a 2 não for feita.
A entrada do meu programa seria um .txt com uma tabela com as tarefas e as dependencias, onde o primeiro número é a tarefa e depois as quais ela depende ( se tiver zero não depende de nenhuma ).
Estou usando essa como teste:
1 0 0 0
5 0 0 0
3 1 7 0
2 1 5 0
8 5 0 0
6 2 8 0
7 6 0 0
4 3 0 0
E meu programa:
Código:
O problema é que meu array (onde sairiam as tarefas em ordem) não está como deveria ser. Outra coisa é que ele só lê a tabela uma vez, e mesmo colocando um loop, não deu certo.
Gostaria que alguém me ajudasse, sou novo em C.
Obrigado desde já !
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.