Se você tem dúvidas no EP1, este é o forum para escrever.
--
carlinhos
Olá Prof,
Gostaria de saber se o EP é individual ou em dupla?
Em relação ao programa, eu já estou gerando meus aviões aleatoriamente, mas tenho algumas duvidas em relação a isso. Assim que o programa cria um novo avião, ele deve definir muitas inflormações sobre o mesmo; por exemplo a companhia aérea é definida por meio de prcentagem ( 30% GOL, 40% TAM, 15% VARIG... ), assim como o aeroporto de origem/destino e o desejo de pousar/decolar:
1 - Mas quantos aviões devem ser gerados por atualização? Eu defini 10% - 0 aviões, 10% - 1 aviões, 30% - 2 aviões, 30% - 3 aviões, 10% - 4 aviões e 10% - 5 aviões.
2 - Quantos voos de emergência? Eu defini 10% - emergencia e 90% - normal.
Gostaria de saber se estas proporções estão boas ou se sugere outra.
Obrigado, Felipe.
Gostaria de saber se o EP é individual ou em dupla?
Em relação ao programa, eu já estou gerando meus aviões aleatoriamente, mas tenho algumas duvidas em relação a isso. Assim que o programa cria um novo avião, ele deve definir muitas inflormações sobre o mesmo; por exemplo a companhia aérea é definida por meio de prcentagem ( 30% GOL, 40% TAM, 15% VARIG... ), assim como o aeroporto de origem/destino e o desejo de pousar/decolar:
1 - Mas quantos aviões devem ser gerados por atualização? Eu defini 10% - 0 aviões, 10% - 1 aviões, 30% - 2 aviões, 30% - 3 aviões, 10% - 4 aviões e 10% - 5 aviões.
2 - Quantos voos de emergência? Eu defini 10% - emergencia e 90% - normal.
Gostaria de saber se estas proporções estão boas ou se sugere outra.
Obrigado, Felipe.
O EP é individual.
A geração de testes deve ser feita de forma parametrizada, de forma que, se você notar que os testes estão ficando muito simples pode alterar. Por exemplo, com os números que você deu acima, a chance de gerar 4 ou 5 aviões é de 20%, igual à chance de gerar 0 ou 1. Dessa forma, como o aeroporto atende a 3 aviões por iteração, em uma a cada 5 iterações sobra 1 ou 2 aviões. Mas, sobra também uma pista para atendê-los. Meu chute é que com esses parâmetros os conflitos (que são o interessante neste EP) não vão ocorrer.
Sugiro que vocês testes várias escolhas nos vários parâmetros, e anotem seus testes para poder colocar no relatório que pedi a vocês para fazerem.
abraços,
--
carlinhos
A geração de testes deve ser feita de forma parametrizada, de forma que, se você notar que os testes estão ficando muito simples pode alterar. Por exemplo, com os números que você deu acima, a chance de gerar 4 ou 5 aviões é de 20%, igual à chance de gerar 0 ou 1. Dessa forma, como o aeroporto atende a 3 aviões por iteração, em uma a cada 5 iterações sobra 1 ou 2 aviões. Mas, sobra também uma pista para atendê-los. Meu chute é que com esses parâmetros os conflitos (que são o interessante neste EP) não vão ocorrer.
Sugiro que vocês testes várias escolhas nos vários parâmetros, e anotem seus testes para poder colocar no relatório que pedi a vocês para fazerem.
abraços,
--
carlinhos
No enunciado esta escrito que todos os dados são parametrizados. Isso inclui os aeroportos de origem\destino? Posso inventar um arquivo de entrada com todos os parametros
Sim, pode.
Aliás, seria excelente se alguém inventasse um formato de arquivo padrão com todos os parâmetros para que vocês pudessem testar uns as entradas dos outros. Algum voluntário para fazer isso?
--
carlinhos
Aliás, seria excelente se alguém inventasse um formato de arquivo padrão com todos os parâmetros para que vocês pudessem testar uns as entradas dos outros. Algum voluntário para fazer isso?
--
carlinhos
Eu já tinha feito isso para o meu programa, eu utilizei bloco de notas para a entrada das inflormações.
Primeiro eu criei um arquivo com os dados das companhias aéreas, o formato deste arquivo esta abixo:
n
nome|parcela|
.
.
.
*
n - é o número de companhias aéreas que você irá utilizar;
nome - é a sigla da companhia;
parcela - é o valor em porcentagem da atuação daquela companhia no seu aeroporto.
Chamei o meu arquivo de CIA.txt, ele esta ai:
5
OC|4029304|.............. /* OC - Oceanair */
PA|6593407|.............. /* PA - Pantanal */
VR|18681318|............ /* VR - Varig */
TM|43589744|............ /* TM - Tam */
GL|27106227|............ /* GL - Gol */
*
Veja que a porcentagem eu coloquei em inteiro, assim eu puxo para o programa o valor da 'parcela' numa variável 'int n' e converto para uma 'float m; m = (float) n / 1000000;' assim eu obtenho um número de 6 casas decimais.
Depois eu criei 5 arquivos que trazem inflormações dos vôos de cada companhia. Denominei-os de OC.txt, PA.txt, VR.txt, TM.txt e GL.txt. O formato deles esta ai:
n
aeroporto|parcela|distância|
.
.
.
*
n - é o número total de ordens da companhia aérea;
aeroporto - é o aeroporto; ¬¬
parcela - é a porcentagem do dado vôo dentro da companhia aérea;
distância - é a distância do seu aeroporto até o outro.
Acho que estes dados são os necessários, o resto acho melhor gerar pelo próprio programa.
Eu criei uma struct COMPANHIA e uma struct ORDEM, assim eu declaro ponteiros para alocar os dados em vetores; por isso eu informo o número 'n' nos meus arquivos.
Peguei todos os meus dados no site da infraero.
Este modelo me parece prático e eficiente, se concordarem, esta ai para ser usado!
Abraços, Felipe.
Primeiro eu criei um arquivo com os dados das companhias aéreas, o formato deste arquivo esta abixo:
n
nome|parcela|
.
.
.
*
n - é o número de companhias aéreas que você irá utilizar;
nome - é a sigla da companhia;
parcela - é o valor em porcentagem da atuação daquela companhia no seu aeroporto.
Chamei o meu arquivo de CIA.txt, ele esta ai:
5
OC|4029304|.............. /* OC - Oceanair */
PA|6593407|.............. /* PA - Pantanal */
VR|18681318|............ /* VR - Varig */
TM|43589744|............ /* TM - Tam */
GL|27106227|............ /* GL - Gol */
*
Veja que a porcentagem eu coloquei em inteiro, assim eu puxo para o programa o valor da 'parcela' numa variável 'int n' e converto para uma 'float m; m = (float) n / 1000000;' assim eu obtenho um número de 6 casas decimais.
Depois eu criei 5 arquivos que trazem inflormações dos vôos de cada companhia. Denominei-os de OC.txt, PA.txt, VR.txt, TM.txt e GL.txt. O formato deles esta ai:
n
aeroporto|parcela|distância|
.
.
.
*
n - é o número total de ordens da companhia aérea;
aeroporto - é o aeroporto; ¬¬
parcela - é a porcentagem do dado vôo dentro da companhia aérea;
distância - é a distância do seu aeroporto até o outro.
Acho que estes dados são os necessários, o resto acho melhor gerar pelo próprio programa.
Eu criei uma struct COMPANHIA e uma struct ORDEM, assim eu declaro ponteiros para alocar os dados em vetores; por isso eu informo o número 'n' nos meus arquivos.
Peguei todos os meus dados no site da infraero.
Este modelo me parece prático e eficiente, se concordarem, esta ai para ser usado!
Abraços, Felipe.
Eu procurei no site da infraero mas eu não achei esses dados. Tem como me passar o link por favor.
Olá,
Gostaria de saber se há algum problema trabalhar com aeroportos de origem/destino todos dentro do Brasil. Digo isto porque alguém que toma um avião do rio para são paulo não gostaria de ser remanejado para a bahia... hauhauah...
Mas para o nosso ep isto não chega a ser um problema, chega?
Abraços.
(ps: é óbvio que só estou fazendo esta pergunta pq já fiz a lista só com aeroportos brasileiros).
Gostaria de saber se há algum problema trabalhar com aeroportos de origem/destino todos dentro do Brasil. Digo isto porque alguém que toma um avião do rio para são paulo não gostaria de ser remanejado para a bahia... hauhauah...
Mas para o nosso ep isto não chega a ser um problema, chega?
Abraços.
(ps: é óbvio que só estou fazendo esta pergunta pq já fiz a lista só com aeroportos brasileiros).
Ué, e a Bahia não é no Brasil? ;)
Legal sua lista de aeroportos brasileiros. Vocês podem compartilhar esses dados para fazer os testes sem problemas.
abraços,
--
carlinhos
Legal sua lista de aeroportos brasileiros. Vocês podem compartilhar esses dados para fazer os testes sem problemas.
abraços,
--
carlinhos
Olá!
Alguém sabe o significa este erro do gcc?
Ahh! gostaria de saber como importar um arquivo .c dentro de outro. Tentei do jeito óbvio #include <arquivo.c> e deu erro. Como fazer?
Para os parâmetros é melhor usar defines ou variáveis globais?
[]'s
Alguém sabe o significa este erro do gcc?
erro: dereferencing pointer to incomplete type
Ahh! gostaria de saber como importar um arquivo .c dentro de outro. Tentei do jeito óbvio #include <arquivo.c> e deu erro. Como fazer?
Para os parâmetros é melhor usar defines ou variáveis globais?
[]'s
Olá André,
Sobre o erro, provavelmente tem a ver com a manipulação incorreta de ponteiros para struct's. Para ter certeza exatamente do que se trata, você poderia postar o trecho de código onde o erro foi apontado?
Sobre importar arquivos dentro de outros, faça um arquivo .h do arquivo que você quer importar somente com os protótipos das funções, e com o mesmo nome. Então, dê #include nesse arquivo .h. Por exemplo, caso você tenha um arquivo func.c, com funções auxiliares que deseja importar, crie um func.h apenas com as assinaturas das funções de func.c, dê um #include "func.h" no arquivo principal e você poderá usar ali as funções do outro arquivo. Note que você deve usar aspas para definir o nome do arquivo, e não < e >, já que esses indicam que o arquivo a ser incluído está num diretório padrão das bibliotecas. Além disso, nunca inclua diretamente o .c, ok?
Para os parâmetros, use define.
Sobre o erro, provavelmente tem a ver com a manipulação incorreta de ponteiros para struct's. Para ter certeza exatamente do que se trata, você poderia postar o trecho de código onde o erro foi apontado?
Sobre importar arquivos dentro de outros, faça um arquivo .h do arquivo que você quer importar somente com os protótipos das funções, e com o mesmo nome. Então, dê #include nesse arquivo .h. Por exemplo, caso você tenha um arquivo func.c, com funções auxiliares que deseja importar, crie um func.h apenas com as assinaturas das funções de func.c, dê um #include "func.h" no arquivo principal e você poderá usar ali as funções do outro arquivo. Note que você deve usar aspas para definir o nome do arquivo, e não < e >, já que esses indicam que o arquivo a ser incluído está num diretório padrão das bibliotecas. Além disso, nunca inclua diretamente o .c, ok?
Para os parâmetros, use define.
o que eu queria era importar os parametros (#define's) de um outro arquivo... porque nunca incluir diretamente o .c?
Não consigo de jeito nenhum me livrar desse erro, segue o código "resumido" com as linhas que retornam erro em negrito:
Meu typedef:
Não faz o menor sentido não estar fucionando, comparei com eps anteriores... a estrutura é a mesma.
=S
[]'s
Não consigo de jeito nenhum me livrar desse erro, segue o código "resumido" com as linhas que retornam erro em negrito:
link newNode(){
link n;
n = malloc(sizeof(node));
n->flight = malloc(sizeof(flig));
n->next = NULL;
return n;
}
link n;
n = malloc(sizeof(node));
n->flight = malloc(sizeof(flig));
n->next = NULL;
return n;
}
Meu typedef:
typedef struct node *link;
typedef struct{
flig* flight;
link next;
} node;
typedef struct{
flig* flight;
link next;
} node;
Não faz o menor sentido não estar fucionando, comparei com eps anteriores... a estrutura é a mesma.
=S
[]'s
Os typedefs parecem meio errados, pois link é um pointer para struct node, e você não tem struct node, pois não deu nome pra sua struct. Tenta isso:
typedef struct node {
flig *flight;
struct node *next;
} node;
typedef node *link;
typedef struct node {
flig *flight;
struct node *next;
} node;
typedef node *link;
Thank You!!!


Uma boa prática é colocar os tipos, defines e protótipos de função em um arquivo .h e importá-lo onde for necessário com #include.
Você até consegue fazer o include de arquivos .c, mas assim, você estará fugindo das convenções.
Outro motivo para não fazer include de arquivo .c, é se vc tiver que fazer include de um arquivo .c em mais de um arquivo .c, se tiver alguma função implementada, vai ter problemas mais tarde no processo de linkedição (juntar os arquivos objeto no executável final), o linkeditor pode chiar que existe a função mais que uma vez. A não ser que o seu arquivo .c só tenha defines e typedefs, mas aí, esse arquivo fica muito parecido com um arquivo .h convencional.
Outro truque, ainda nos arquivos .h, é colocar a definição de tipos entre um bloco protegido por defines para evitar o include indireto (arquivos include com dependência indireta ou arquivos include que dependem um do outro) como no exemplo abaixo:
#ifndef _MEU_ARQUIVO_H
#define _MEU_ARQUIVO_H
#define QTDE_MAXIMA_ARQUIVOS 50
#define ERRO_LEITURA -1
#define ERRO_ESCRITA -2
.
.
.
typedef struct TABELA {
int campo1;
int campo2;
} TABELA_T;
void processaTabela(TABELA_T* tabela);
void funcaoQualquer(void);
#endif
[]s, Wellington
Você até consegue fazer o include de arquivos .c, mas assim, você estará fugindo das convenções.
Outro motivo para não fazer include de arquivo .c, é se vc tiver que fazer include de um arquivo .c em mais de um arquivo .c, se tiver alguma função implementada, vai ter problemas mais tarde no processo de linkedição (juntar os arquivos objeto no executável final), o linkeditor pode chiar que existe a função mais que uma vez. A não ser que o seu arquivo .c só tenha defines e typedefs, mas aí, esse arquivo fica muito parecido com um arquivo .h convencional.
Outro truque, ainda nos arquivos .h, é colocar a definição de tipos entre um bloco protegido por defines para evitar o include indireto (arquivos include com dependência indireta ou arquivos include que dependem um do outro) como no exemplo abaixo:
#ifndef _MEU_ARQUIVO_H
#define _MEU_ARQUIVO_H
#define QTDE_MAXIMA_ARQUIVOS 50
#define ERRO_LEITURA -1
#define ERRO_ESCRITA -2
.
.
.
typedef struct TABELA {
int campo1;
int campo2;
} TABELA_T;
void processaTabela(TABELA_T* tabela);
void funcaoQualquer(void);
#endif
[]s, Wellington
Show! Obrigado pela explicação!

Quanto de combustível cada avião que chega no aeroporto deve ter? Eu tinha definido: 15% do combustível necessário para toda a viagem + 5 unidades, mas desse jeito um certo voô pode não ter combustível suficiente para ser redirecionado para outro aeroporto, caso seja preciso...
Posso definir que cada avião chega ao aeroporto com 15% do combustível necessário para a viagem + X , onde X é a distância para o aeroporto mais próximo?
Posso definir que cada avião chega ao aeroporto com 15% do combustível necessário para a viagem + X , onde X é a distância para o aeroporto mais próximo?
Eu posso t dar uma ideia:
Estou simulando Congonhas, quando um avião vai ficar sem combustível, eu o redireciono para o aeroporto de Guarulhos (q eh bem proximo)... acho q nao precisa ser de outra cidade...
Estou simulando Congonhas, quando um avião vai ficar sem combustível, eu o redireciono para o aeroporto de Guarulhos (q eh bem proximo)... acho q nao precisa ser de outra cidade...
Entre Cumbica e Congonhas eu posso considerar quantas unidades de tempo?
Galera, eu fiz um gerador de distâncias entre aeroportos em Perl. Pra vocês rodarem, façam o seguinte:
1- põe numa pasta no linux e dê o comando: chmod +x pontos.pl
2- na mesma pasta, crie um arquivo "aeroportos.txt" e nele coloque qquer número de aeroportos que você quiser no seguinte esquema:
CGH
GRU
REC
etc...
(não deixe nenhuma linha em branco no final)
3- Agora só digitar: ./pontos.pl > arquivo
4- Ele vai gerar pontos no R² e calcular a distância entre eles e imprimir desse jeito:
AJU 0 26 21
BCV 26 0 10
BEL 21 10 0
5- Agora é só pegar no C esse arquivo.
Dá pra fazer a mesma coisa em C e é bem fácil. Mas pra economizar tempo fiz em Perl msm. Portanto, não tentem procurar bugs, pq está cheio hehehehehe.
Abs.
1- põe numa pasta no linux e dê o comando: chmod +x pontos.pl
2- na mesma pasta, crie um arquivo "aeroportos.txt" e nele coloque qquer número de aeroportos que você quiser no seguinte esquema:
CGH
GRU
REC
etc...
(não deixe nenhuma linha em branco no final)
3- Agora só digitar: ./pontos.pl > arquivo
4- Ele vai gerar pontos no R² e calcular a distância entre eles e imprimir desse jeito:
AJU 0 26 21
BCV 26 0 10
BEL 21 10 0
5- Agora é só pegar no C esse arquivo.
Dá pra fazer a mesma coisa em C e é bem fácil. Mas pra economizar tempo fiz em Perl msm. Portanto, não tentem procurar bugs, pq está cheio hehehehehe.
Abs.
Alguém sabe qual a quantidade de combústivel com que os aviões podem chegar?
@ Um avião pode chegar com zero de combustível?
@ Qual valor de C é melhor para ser usado para testes?
@ E qual a distância mínima que deve ser considerada até o aeroporto mais próximo?
Precisava ter uma idéia disso pra poder continuar.
@ Um avião pode chegar com zero de combustível?
@ Qual valor de C é melhor para ser usado para testes?
@ E qual a distância mínima que deve ser considerada até o aeroporto mais próximo?
Precisava ter uma idéia disso pra poder continuar.
Qual seria uma boa distribuição de probabilidades para o número de novos aviões por rodada? Uma distribuição com esperança = 3, é adequada para testes?
Com esperança maior que 3, é inevitável que o aeroporto tenha problemas, certo? Pelo menos no meu ep, se a esperança é 4, o número de aviões com prioridade de decolagem não atendidos (há mais de 10% do tempo de viagem esperando) vai crescendo a cada rodada...
Com esperança maior que 3, é inevitável que o aeroporto tenha problemas, certo? Pelo menos no meu ep, se a esperança é 4, o número de aviões com prioridade de decolagem não atendidos (há mais de 10% do tempo de viagem esperando) vai crescendo a cada rodada...
OLá,
Faça vários testes, e coloque seus resultados no relatório que deve ser entregue.
abraços,
--
carlinhos
Faça vários testes, e coloque seus resultados no relatório que deve ser entregue.
abraços,
--
carlinhos
Posso usar alguns arquivos ".txt" e no ep e envia-lo em formato zip?
Alguém sabe se é permitido redirecionar mais de 1 avião para um mesmo aeroporto?
Se é permitido, para que serve manter uma tabela de todos os aeroportos de distância até D? Não bastaria guardar o mais próximo que opera com cada cia?
Se é permitido, para que serve manter uma tabela de todos os aeroportos de distância até D? Não bastaria guardar o mais próximo que opera com cada cia?
Porque nem todas as companias atendem todos os aeroportos, Guarulhos pode não aceitar a Gol e aí só redirecionando pra Campinas.
Em uma situação real você poderia querer evitar sobrecarregar um aeroporto vizinho com muitos voos de emergência. Por exemplo, se você tem 4 voos em situação de emergencia e mandá-los para um aeroporto vizinho provavelmente 1 deles vai cair...
Bem, para efeito deste EP a situação se resolve quando você identifica o problema e manda o avião para outro aeroporto.
abraços,
--
carlinhos
Bem, para efeito deste EP a situação se resolve quando você identifica o problema e manda o avião para outro aeroporto.
abraços,
--
carlinhos
Bem, eu criei uma funçao que, dado um natural C e uma companhia aeria, encontra um aeroporto com distancia <= C e que aceita essa companhia.
O problema nesse caso e' se dois avioes em emergencia tiverem a mesma companhia aeria. Ai' a minha funcao devolve o mesmo aeroporto. Mas se isso for razoavelmente dificil de acontecer, entao esse jeito resolve o problema?
Quanto ao combustivel dos avioes:
Suponha que no tempo t, um determinado aviao tem combustivel 1.
Assim, no tempo t + 1, o aviao vai ter combustivel 0.
Nesse caso, devo pousar o aviao no tempo t + 1 (no momento em que o combustivel dele vira 0) ou em t + 2 (momento imediatamente seguinte ao instante em que ele chegou a ter combustivel 0)?
O problema nesse caso e' se dois avioes em emergencia tiverem a mesma companhia aeria. Ai' a minha funcao devolve o mesmo aeroporto. Mas se isso for razoavelmente dificil de acontecer, entao esse jeito resolve o problema?
Quanto ao combustivel dos avioes:
Suponha que no tempo t, um determinado aviao tem combustivel 1.
Assim, no tempo t + 1, o aviao vai ter combustivel 0.
Nesse caso, devo pousar o aviao no tempo t + 1 (no momento em que o combustivel dele vira 0) ou em t + 2 (momento imediatamente seguinte ao instante em que ele chegou a ter combustivel 0)?
Provavelmente deve ser no momento em que o combustivel vira 0, pois com 0 de combustivel não dá pra ele esperar até o outro momento pra pousar =P
Ai ai...
É hoje que eu não durmo = P
Ai ai...
É hoje que eu não durmo = P
Alberto, o avião deve ser pousado no instante t + 1, ou seja, exatamente quando o combustível atingiu o nível 0.
Tem algum jeito de incluir apenas uma função de uma certa biblioteca para o meu programa?
Olá, estou com um problema:
Criei o meu EP1 em seis arquivos diferentes, sendo um deles .c e os outros cinco .h. Assim, eu programo varias funções nas minhas bibliotecas .h para utilizá-las no meu programa .c sem prejudicar o leiaute do programa com tantas linhas de código em um só arquivo. Porém quando eu faço o #include da minha biblioteca eu faço:
#include <C:\Users\....\MAC0323\EP1\biblioteca.h> /*(1)*/
O programa compila e roda normalmente no meu computador, porém quando o monitor compilar o meu programa .c em seu computador, certamente o diretório das bibliotecas não serão os mesmos que coloquei em /*(1)*/. Já tentei colocar apenas '#include <biblioteca.h>', mas o compilador não acha os arquivos .h mesmo estando no mesmo diretório do arquivo .c. Como eu faço para resolver este problema?
Felipe
Criei o meu EP1 em seis arquivos diferentes, sendo um deles .c e os outros cinco .h. Assim, eu programo varias funções nas minhas bibliotecas .h para utilizá-las no meu programa .c sem prejudicar o leiaute do programa com tantas linhas de código em um só arquivo. Porém quando eu faço o #include da minha biblioteca eu faço:
#include <C:\Users\....\MAC0323\EP1\biblioteca.h> /*(1)*/
O programa compila e roda normalmente no meu computador, porém quando o monitor compilar o meu programa .c em seu computador, certamente o diretório das bibliotecas não serão os mesmos que coloquei em /*(1)*/. Já tentei colocar apenas '#include <biblioteca.h>', mas o compilador não acha os arquivos .h mesmo estando no mesmo diretório do arquivo .c. Como eu faço para resolver este problema?
Felipe
Faça
#include "biblioteca.h"
#include "biblioteca.h"
Quanto às especificações da saída:
• a quantidade média de combustível disponível dos aviões que pousaram;
É a média relativa aos aviões que pousaram nesta exata rodada ou a média "histórica" relativa a todos os aviões que já pousaram?
Não sei se consegui me expressar muito bem...
• a quantidade média de combustível disponível dos aviões que pousaram;
É a média relativa aos aviões que pousaram nesta exata rodada ou a média "histórica" relativa a todos os aviões que já pousaram?
Não sei se consegui me expressar muito bem...
A média histórica.
--
carlinhos
--
carlinhos
Pelo que entendi todos estes são históricos:
Mas fiquei na dúvida em relação a estes:
- o tempo medio de espera para pouso;
- o tempo medio de espera para decolagem;
- a quantidade media de combustivel disponivel dos avioes que pousaram;
Mas fiquei na dúvida em relação a estes:
- a quantidade media de combustivel dos avioes esperando para pousar;
- a quantidade de avioes pousando/decolando em condicoes de emergencia.
Oi Susanna,
Valores históricos para todos os pontos.
--
carlinhos
Valores históricos para todos os pontos.
--
carlinhos
Mas então "a quantidade de avioes pousando/decolando em condicoes de emergencia " deve ser a soma de todas as emergências já atendidas?
Estou com um problema no meu EP. Eu opreciso verificar se um ponteiro s->nextpr ( proximo da fila de prioridade) é NULL ou não. Mas quando eu faço essa comparação e mando imprimir sai uns numeros estranhos, e jah quando eu não faço imprime certo mas posteriormente pode dar segfault. Alguem sabe oq pode ser isso??
O que exatamente sai estranho na impressão?
Certifique-se que você não fez a comparação com = ao invés de ==. Uma comparação apenas não deveria alterar o estado do programa.
Certifique-se que você não fez a comparação com = ao invés de ==. Uma comparação apenas não deveria alterar o estado do programa.
tipo, se era pra imprimir 5 ele imprime 134520904
e é só tirar a comparação q volta ao normal...
a comparação ta certa na verdade é um "!="
e é só tirar a comparação q volta ao normal...
a comparação ta certa na verdade é um "!="
É Everton, isso é bem estranho.
Se possível, poste ou anexe o trecho do código em que o problema ocorre, para ver se alguma idéia surge sobre o que está acontecendo.
Se possível, poste ou anexe o trecho do código em que o problema ocorre, para ver se alguma idéia surge sobre o que está acontecendo.
Melhor do que postar um trecho de código seria discutir isso com o Alvaro durante o plantão de monitoria. O ALvaro me disse que ninguém apareceu lá, nem mesmo hoje...
--
carlinhos
--
carlinhos
Na verdade eu descobri q meu erro não vem da comparação, só q sem ela ele acabava sendo mascarado, msm assim ainda não consegui ahar oq esta dando errado
Ahh!!
A uma hora destas um erro desse é de matar. To recebendo um Seg Fault vindo da libc... com relação a função free()
Meu programa vai funcionando bem até que lá pela milésima unidade de tempo passada dá esse erro.
Como a coisa é aleatória as vezes aprece isso tbm:
*** glibc detected *** ./aero: corrupted double-linked list: 0x0804f730 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7e87c82]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7e8b4f0]
./aero[0x804926f]
./aero[0x80498f4]
./aero[0x8049c9e]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7e32450]
./aero[0x80485b1]
======= Memory map: ========
08048000-0804b000 r-xp 00000000 08:05 974941 /home/andre/Faculdade/MAC-323/EP1/aero
0804b000-0804c000 rw-p 00002000 08:05 974941 /home/andre/Faculdade/MAC-323/EP1/aero
0804c000-0806d000 rw-p 0804c000 00:00 0 [heap]
b7d00000-b7d21000 rw-p b7d00000 00:00 0
b7d21000-b7e00000 ---p b7d21000 00:00 0
b7e1b000-b7e1c000 rw-p b7e1b000 00:00 0
b7e1c000-b7f65000 r-xp 00000000 08:05 3486 /lib/tls/i686/cmov/libc-2.7.so
b7f65000-b7f66000 r--p 00149000 08:05 3486 /lib/tls/i686/cmov/libc-2.7.so
b7f66000-b7f68000 rw-p 0014a000 08:05 3486 /lib/tls/i686/cmov/libc-2.7.so
b7f68000-b7f6b000 rw-p b7f68000 00:00 0
b7f6f000-b7f79000 r-xp 00000000 08:05 1466369 /lib/libgcc_s.so.1
b7f79000-b7f7a000 rw-p 0000a000 08:05 1466369 /lib/libgcc_s.so.1
b7f7a000-b7f7f000 rw-p b7f7a000 00:00 0
b7f7f000-b7f80000 r-xp b7f7f000 00:00 0 [vdso]
b7f80000-b7f9a000 r-xp 00000000 08:05 266 /lib/ld-2.7.so
b7f9a000-b7f9c000 rw-p 00019000 08:05 266 /lib/ld-2.7.so
bf9ef000-bfa04000 rw-p bffeb000 00:00 0 [stack]
./vai.sh: line 10: 13487 Cancelado ./aero
Help Me, plzzz!!
A uma hora destas um erro desse é de matar. To recebendo um Seg Fault vindo da libc... com relação a função free()
Meu programa vai funcionando bem até que lá pela milésima unidade de tempo passada dá esse erro.
Como a coisa é aleatória as vezes aprece isso tbm:
*** glibc detected *** ./aero: corrupted double-linked list: 0x0804f730 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7e87c82]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7e8b4f0]
./aero[0x804926f]
./aero[0x80498f4]
./aero[0x8049c9e]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7e32450]
./aero[0x80485b1]
======= Memory map: ========
08048000-0804b000 r-xp 00000000 08:05 974941 /home/andre/Faculdade/MAC-323/EP1/aero
0804b000-0804c000 rw-p 00002000 08:05 974941 /home/andre/Faculdade/MAC-323/EP1/aero
0804c000-0806d000 rw-p 0804c000 00:00 0 [heap]
b7d00000-b7d21000 rw-p b7d00000 00:00 0
b7d21000-b7e00000 ---p b7d21000 00:00 0
b7e1b000-b7e1c000 rw-p b7e1b000 00:00 0
b7e1c000-b7f65000 r-xp 00000000 08:05 3486 /lib/tls/i686/cmov/libc-2.7.so
b7f65000-b7f66000 r--p 00149000 08:05 3486 /lib/tls/i686/cmov/libc-2.7.so
b7f66000-b7f68000 rw-p 0014a000 08:05 3486 /lib/tls/i686/cmov/libc-2.7.so
b7f68000-b7f6b000 rw-p b7f68000 00:00 0
b7f6f000-b7f79000 r-xp 00000000 08:05 1466369 /lib/libgcc_s.so.1
b7f79000-b7f7a000 rw-p 0000a000 08:05 1466369 /lib/libgcc_s.so.1
b7f7a000-b7f7f000 rw-p b7f7a000 00:00 0
b7f7f000-b7f80000 r-xp b7f7f000 00:00 0 [vdso]
b7f80000-b7f9a000 r-xp 00000000 08:05 266 /lib/ld-2.7.so
b7f9a000-b7f9c000 rw-p 00019000 08:05 266 /lib/ld-2.7.so
bf9ef000-bfa04000 rw-p bffeb000 00:00 0 [stack]
./vai.sh: line 10: 13487 Cancelado ./aero
Help Me, plzzz!!
/*Vc tah dando free errado!!*/ (isso vc jah sabia, eh q eu fikei com pregiça de ler)
Dah uma olhadinha no que vc tah passando pra ele (eu jah desisti de frees)
provavelmente vc tah passando x, no lugar do endereço ou alguma coisa assim, é soh brincar com akelas coisas magicas q dá certo (& e *)
Dah uma olhadinha no que vc tah passando pra ele (eu jah desisti de frees)
provavelmente vc tah passando x, no lugar do endereço ou alguma coisa assim, é soh brincar com akelas coisas magicas q dá certo (& e *)
Desculpe, eu estou com o ep pronto desde ontem mas tinha achado estranho que na página do ep não tinhamos espaço para passarmos ele, só que até agora não aparece o espaço
Por favor, tem como alguém me responder para onde que devemos enviar o ep?
Aaaaaaaaaaaaaaaaaaaah!!!
Naum consegui enviar o ep!!! = /
Naum consegui enviar o ep!!! = /