Ir para conteúdo
Fórum Script Brasil

Diogo Rupolo

Membros
  • Total de itens

    39
  • Registro em

  • Última visita

Tudo que Diogo Rupolo postou

  1. Pessoal, tenho duas estruturas: struct VERTICE{ int no; int prof; }; struct SETOR{ int no; int prof; int tamanho; VERTICE *vertice; }; Aloquei memória para estas estruturas e armazenei valores nas variáveis das estruturas. Minha pergunta é: consigo acessar valores desta estrutura em qualquer função que declare no programa, pois não estou conseguindo fazer isso? Att; Diogo
  2. Dá uma olhada o que esse rapaz me respondeu em outro fórum. Acho que deve ser isso. Só não sei como incluir isso no Codeblocks. Além disso, estou usando o GCC. http://forum.clubedohardware.com.br/proble...960#post5881960 Att; Diogo
  3. Desculpa a demora Pedro. Bom para aquele problema até que dá certo fazer isso. Mas o problema só complica cada vez mais porque quando testo um sistema com mais dados, surgem mais problemas ainda. Mais variáveis com valores de lixo, mesmo inicializando todas as variáveis com zero. Neste caso nem o cout ou cin.sync() resolvem. Estou refazendo o código de uma outra maneira com alocação dinâmica e ponteiros para livrar desse problema pois está complicado resolvê-lo. Acredito que o problema esteja em posições de vetores não utilizadas. Att; Diogo
  4. Obrigado Pedro pela ajuda. Fico grato. O printf não funciona, testei aqui. Nem comentando, nem sem comentários. Mas fica tranquilo. Vou fazer uma modificação no código. Acho que vai dar pra eliminar o problema de outra forma. Obrigado pela ajuda. Att; Diogo
  5. O problema é que meu programa depende de tempo computacional e essas impressões na tela estão tomando muito tempo. De qualquer forma agradeço pela ajuda. Vou tentar resolver isso de uma outra forma. Grato; Diogo
  6. 1-Bom Pedro, a primeira imagem é o que obtenho quando não comento nenhum cout. Essa primeira imagem correspondem aos resultados corretos do programa nessa ordem mesmo. Estou buscando o mínimo. Então o menor valor correspondente é 469.13, do "vetor perdas final" . Agora após comentar os cout meus resultados mudam constantemente. Não segue nenhuma ordem mais. Então obtenho qualquer resultado. Resultados estranhos como 376.38, 339.109, 359.02. 2- Lembrando que meus resultados estão ordenado no vetor perdas final. Os 10 melhores resultado pode ser conferido no arquivo RefSet que está sendo criado. Att; Diogo
  7. 1- Olá Pedro, faça o download no 4shared, e compile o programa sem mexer em nada que vai gerar esse resultado: 466.13. Quando vou mexendo nos "cout" o programa assume valores até menores que o esperado. 2- Em relação ao modo de ler arquivos está em C mesmo. Tem algumas partes que está em C, outras em C++. Na verdade é que não sabia fazer em C++. Quando testo o cin.sync() em vários locais não consegui chegar no valor esperado também Pedro. 3- Acho que pode ser algum dos vetores que está acumulando lixo, pois tem vetores meus que são declarados com dimensão de variáveis que mudam constantemente de tamanho. Não sei bem... Att; Diogo
  8. Pessoal ainda estou enfrentando um grande problema com cout. Vou postar o código aqui embaixo. Comentem as linhas 147,151, 278 e 282. O melhor resultado desse programa é 466.13. Resultado apresentado sem comentar as linhas acima. No vetor perdas final é apresentado os 100 melhores resultados. Após o comentário dos cout, os valores começam a mudar. Já usei o comando cin.sync() para limpar o buffer que o Pedro Cunha me ensinou ontem, mas mesmo assim continua os problemas pra esse código. O código está no seguinte link: http://www.4shared.com/rar/8pNv1XLR/Algori...4_barras_R.html? Estou usando o Codeblocks para compilar. Grato; Diogo
  9. Para o exemplo funciona mesmo Pedro. Obrigado mesmo. Só vou tentar adaptar no código geral e ver se não vai dar problemas! Abraço! Até mais! Att; Diogo Rupolo
  10. Na verdade faço mestrado em Engenharia Elétrica, to programando um código bem extenso. Essa função ai fiz uns 7 meses atrás. Tenho que arrumar certinho essa função. Tá meio bagunçada. Me desculpa. Está até ruim de entender. Estava iniciando a programar quando fiz ela. Agora percebi que estava me causando problemas. Vou usar esses comandos no código geral e tentar resolver o problema. Obrigado Pedro e até mais! Att; Diogo
  11. Pedro tentei resumir aqui bem rápido o código. Está meio bagunçado, mas é só pra mostrar a parte do erro mesmo. Tire o comentário da linha 162 onde apresenta um cout e coloque novamente. Vai ver que os valores mudam. O valor correto final do programa é 531.99. Isso acontece com outros cout também no código. Segue o link para dowload: http://www.4shared.com/rar/qnfaa4so/Testando_problema.html? Att; Diogo
  12. Vou tentar fazer uma versão resumida aqui do problema. O código é muito extenso. Não tem como fazer um upload de um arquivo . rar aqui não é? Pois tem chamada de arquivo .txt no programa. Att; Diogo
  13. Como assim " setar" Pedro, você sabe o caminho exato de como fazer isso no Codeblocks? Att; Diogo
  14. Pessoal estou tendo um problema estranho. Toda vez que comento um cout no programa, meus resultados começam a apresentar valores estranhos, mudam de valores. Não sei o que está acontecendo. As vezes pegam resultados que são lixos. Perguntei em um outro lugar e o rapaz me respondeu o seguinte: " Inclua bound checking nas opções do compilador. Aparentemente você está em algum momento acessando uma área de memória inválida pelo seu código. Este tipo de erro ocorre tipicamente por duas situações: acessar índices inválidos de vetores e acessar ponteiros inválidos. Como eu não vi ponteiros no seu código imagino que o erro então esteja ligado a primeira opção. Se você estiver usando gcc a opção é "-fbounds-checking". Não consegui fazer isso, nem resolver meu problema. Estou usando o Codeblocks no gcc. Testei no Dev, apresentou o mesmo problema. Não tem como postar o código aqui pois tem vários arquivos. Alguém já se deparou com algo similar? Grato Diogo Rupolo
  15. Pessoal tenho as seguintes estruturas abaixo: typedef struct lista { int *list; int tamanho; } LISTA; typedef struct elemento { int no; int prof; } ELEMENTO; typedef struct arvore { ELEMENTO *elemento; int tamanho; } ARVORE; typedef struct floresta { ARVORE *arvore; } FLORESTA; Preciso ler os seguintes arquivos e passar para a estrutura lista (no e prof da estrutura ELEMENTO): no prof 1 0 4 1 5 2 11 3 6 2 7 3 16 4 2 0 8 1 10 2 9 2 12 3 3 0 13 1 14 2 15 3 A seguir é uma lista de adjacência de cada nó. Preciso passar para o ponteiro *list da estrutura lista: 1 4 0 0 4 1 5 6 5 4 11 0 11 5 9 0 6 4 7 0 7 6 16 0 16 7 15 0 2 8 0 0 8 2 9 10 10 8 14 0 9 8 12 0 12 9 0 0 3 13 0 0 13 3 14 0 14 10 13 0 15 13 16 0 Ao ler estes dados quero jogar em uma função do tipo: void operador1(LISTA *lista, int ind_sort, int ind_pop); E pretendo acessar os elementos da seguinte forma: p = floresta[ind_sort].arvore[arv_p].elemento[ip].no; //acessando um elemento nó de um elemento qualquer ip, de uma árvore arv_p de uma floresta ind_sort E acessar um índice da lista adjacente dessa forma: a = lista[p].list[iadj]; Como faço isso, consigo ler o arquivo, mas não estou sabendo carregar o arquivo nas estruturas e passar para a função. Se alguém puder ajudar fico muito agradecido. Att; Diogo
  16. Pessoal tenho as seguintes estruturas abaixo: typedef struct lista { int *list; int tamanho; } LISTA; typedef struct elemento { int no; int prof; } ELEMENTO; typedef struct arvore { ELEMENTO *elemento; int tamanho; } ARVORE; typedef struct floresta { ARVORE *arvore; } FLORESTA; Preciso ler os seguintes arquivos e passar para a estrutura lista (no e prof da estrutura ELEMENTO): no prof 1 0 4 1 5 2 11 3 6 2 7 3 16 4 2 0 8 1 10 2 9 2 12 3 3 0 13 1 14 2 15 3 A seguir é uma lista de adjacência de cada nó. Preciso passar para o ponteiro *list da estrutura lista: 1 4 0 0 4 1 5 6 5 4 11 0 11 5 9 0 6 4 7 0 7 6 16 0 16 7 15 0 2 8 0 0 8 2 9 10 10 8 14 0 9 8 12 0 12 9 0 0 3 13 0 0 13 3 14 0 14 10 13 0 15 13 16 0 Ao ler estes dados quero jogar em uma função do tipo: void operador1(LISTA *lista, int ind_sort, int ind_pop); E pretendo acessar os elementos da seguinte forma: p = floresta[ind_sort].arvore[arv_p].elemento[ip].no; //acessando um elemento nó de um elemento qualquer ip, de uma árvore arv_p de uma floresta ind_sort E acessar um índice da lista adjacente dessa forma: a = lista[p].list[iadj]; Como faço isso, consigo ler o arquivo, mas não estou sabendo carregar o arquivo nas estruturas e passar para a função. Se alguém puder ajudar fico muito agradecido. Att; Diogo
  17. Mas na verdade Pedro queria ao contrário, como ler aquivo. txt e passar para uma estrutura, como também ler arquivo. txt e passar para um ponteiro de uma estrutura. O exemplos que você postou é o contrário disto e não consigo usar para o que eu quero. Mas de qualquer forma agradeço pela ajuda. Obrigado! Att; Diogo
  18. Ok Pedro. Vou dar uma olhada. Obrigado!
  19. Pessoal, quando leio um arquivo .txt desta forma, estou criando um ponteiro para o arquivo com a palavra "list": FILE *list=fopen("lista.txt","r"); for (int i=1;i<16;i++) { fscanf (list,"%d%d",&no,&prof); } fclose (list); Se não estou, como crio um ponteiro para este arquivo? E como poderia passar este ponteiro "list" para uma estrutura definida dessa forma: typedef struct lista { int *list; int tamanho; } LISTA; Att; Diogo
  20. Ok Pedro. Obrigado!' Att; Diogo
  21. Como passar um arquivo .txt com uma matriz de números para um ponteiro? Att; Diogo
  22. Tenho a seguinte estrutura definida em C: typedef struct lista{ int *list; int tamanho; } LISTA; Preciso ler dois arquivos .txt. O primeiro arquivo "lista" preciso passar para a estrutura LISTA. É uma matriz de duas colunas. 1 0 2 1 3 1 4 2 O segundo arquivo "list" tenho que armazenar no ponteiro *list sendo uma lista com diferentes números de elementos em uma linha. Por exemplo: 1 2 4 1 2 1 1 5 8 9 Como posso fazer isso. Tentei fazer o seguinte: FILE *lista=fopen("lista.txt","r"); for (i=1;i<=20;i++) { fscanf (lista,"%d%d",&no,&prof); } fclose (lista); Mas não estou conseguindo armazenar na estrutura LISTA? O que posso fazer? Att Diogo
  23. Pessoal estou tentando ler um arquivo txt, salvar em um ponteiro e passar como endereço para uma função. Por exemplo: tenho o seguinte arquivo txt: (matriz de duas colunas) no prof 1 0 2 4 5 6 E o seguinte código: #include<stdio.h> using namespace std; typedef struct lista{ int *list; int tamanho; } LISTA; typedef struct elemento{ int no; int prof; } ELEMENTO; int no,prof; int main () { FILE *lista=fopen("lista.txt","r"); for (int i=1;i<=3;i++) { fscanf (lista,"%d%d",&no,&prof); } fclose (lista); } Preciso passar essa lista que contém o nó (primeira coluna) e profundidade (segunda coluna) para uma função do tipo: void operador1(LISTA *lista); Como posso fazer isso? Att Diogo Rupolo
  24. Pessoal estou precisando fazer o seguinte: Seja a seguinte matriz: A=[1,2,3,4,5;0,1,1,2,2] B=[6,7,8,9,10,11;0,1,1,2,3,3] Preciso declarar cada linha da matriz como um ponteiro. Por exemplo: Seja *pA1=(ponteiro da primeira linha de A1) [1,2,3,4,5] *pA2=(ponteiro da segunda linha de A2) [0,1,1,2,2] *pB1=(ponteiro da primeira linha de B1) [6,7,8,9,10,11] *pB2=(ponteiro da segunda linha de B2) [0,1,1,2,3,3] Como criar uma estrutura S1 que aponte para a matriz A e uma estrutura S2 que aponte para B e depois uma estrutura F que armazene as Matrizes A e B. Ou seja: S1->A1 e A2 S2-> B1 e B2 M->S1 e S2 Como posso fazer isso?
×
×
  • Criar Novo...