Pessoal, Bom dia... Seguinte... Preciso da ajuda de vc's para me ajudar a encontrar aonde está a falha em um programa que estou fazendo ! ! !
Tô fazendo um programa para ler sequencias de 15 números + índice em dois arquivos diferentes, um contém as sequencias e o outro sequencias geradas aleatoriamente. O programa deve ler uma sequencia no arquivo de aleatórias e procurar no outro em que posição (índice) ele está...
Só que o programa que fiz, lê as sequencias nos dois arquivos certinho, mas NÃO ENCONTRA SEU CORRESPONDENTE no outro arquivo... Copiei do TODAS_COMB.txt, 20 sequencias e colei no final ALEATORIOS.txt para garantir que pelo menos teria algum positivo... Mas, NADA ! ! ! Arquivo de resultados VAZIO....
Engraçado que sequencias com 14 iguais ele acha...
int _tmain()
{
J=1;
N=15;
K=15;
AUX_INT = 1;
CONTA_ENTRADA=0;
RESULTA_TODOS_15= fopen("RESULTADO_15.txt","w"),
TODAS_COMB= fopen("TODAS_COMBINACOES.txt","r"),
TODOS_DADOS = fopen("ALEATORIOS.txt","r");
if(!TODOS_DADOS){cout<<"Não foi possível abrir arquivo ALEATORIOS.txt! Programa será terminado!\n";}
else { cout<<"Abril o arquivo - ALEATORIOS.txt \n"; }
if(!TODAS_COMB){cout<<"\nNão foi possível abrir arquivo TODAS_COMBINACOES.txt! Programa será terminado!\n";}
else { cout<<"\nAbril o arquivo - TODAS_COMBINACOES.txt \n"; }
while (!feof(TODOS_DADOS))
{
fscanf(TODOS_DADOS,"%4d ", &AUX_LE);
if(ferror(TODOS_DADOS)) {printf("erro lendo o arquivo ALEATORIOS.txt"); exit;}
DADOS_LIDOS[0]=AUX_LE;
//cout<<DADOS_LIDOS[0]<<" : ";
for (II=1; II<=15; II++)
{
AUX_LE=0;
fscanf(TODOS_DADOS,"%2d", &AUX_LE);
if(ferror(TODOS_DADOS)) {printf("erro lendo o arquivo ALEATORIOS.txt"); break;}
DADOS_LIDOS[II]=AUX_LE;
//cout<<DADOS_LIDOS[II]<<", ";
}
//cout<<"\nSAI :\n";
while (!feof(TODAS_COMB))
{
fscanf(TODAS_COMB,"%7d ", &AUX_LE);
if(ferror(TODAS_COMB)) {printf("erro lendo o arquivo TODAS_COMBINACOES.txt"); exit;}
COMBINATION[0]=AUX_LE;
for (II=1; II<=15; II++)
{
AUX_LE=0;
fscanf(TODAS_COMB,"%2d", &AUX_LE);
if(ferror(TODAS_COMB)) {printf("erro lendo o arquivo TODAS_COMBINACOES.txt"); break;}
COMBINATION[II]=AUX_LE;
//cout<<COMBINATION[II]<<", ";
}
CONTA_IGUAL=0;
for(I=1; I<=15; I++){if (COMBINATION==DADOS_LIDOS){CONTA_IGUAL++;}}
// for(I=1; I<=15; I++){for (II=1; II<=15; II++) {if (COMBINATION==DADOS_LIDOS[II]){CONTA_IGUAL++;}}}
if (CONTA_IGUAL==15)
{
CONTA_APROV_15++;
fprintf(RESULTA_TODOS_15,"%7d : ",COMBINATION[0]); /* POSIÇÃO PROCURADA */
for (I=1; I<=15; I++) {fprintf(RESULTA_TODOS_15,"%2d ",COMBINATION);}
}
//if (CONTA_IGUAL>=14){
//cout <<"COM : "<<DADOS_LIDOS[0]<<" : "; for (II=1; II<=15; II++){cout<<COMBINATION[II]<<", ";}
//cout<<" - "<<CONTA_IGUAL<<"\n";
if ((COMBINATION[0] % 50000) == 0){cout <<COMBINATION[0]<<" ";}
//}
} /* FIM WHILE TODAS_COMB */
} /* FIM WHILE TODOS_DADOS */
fclose(RESULTA_TODOS_15);
fclose(TODOS_DADOS);
fclose(TODAS_COMB);
cout<<"\n\n\n NUMERO DE APROVADOS = "<<CONTA_APROV_15<<"\n";
cout << " FIM ! ! ! ";
system("PAUSE > null");
return 0;
}
ALGUÉM PODE ME AJUDAR ? ? ? Já faz mais de 4 dias que tô "encalacrado" e não encontro solução... Há titulo de informação, esse programa está sendo feito no CODE BLOCKS e compilado pelo compilador que vem junto com o instalador dele...
Pergunta
heliocleg
Pessoal, Bom dia... Seguinte... Preciso da ajuda de vc's para me ajudar a encontrar aonde está a falha em um programa que estou fazendo ! ! !
Tô fazendo um programa para ler sequencias de 15 números + índice em dois arquivos diferentes, um contém as sequencias e o outro sequencias geradas aleatoriamente. O programa deve ler uma sequencia no arquivo de aleatórias e procurar no outro em que posição (índice) ele está...
Só que o programa que fiz, lê as sequencias nos dois arquivos certinho, mas NÃO ENCONTRA SEU CORRESPONDENTE no outro arquivo... Copiei do TODAS_COMB.txt, 20 sequencias e colei no final ALEATORIOS.txt para garantir que pelo menos teria algum positivo... Mas, NADA ! ! ! Arquivo de resultados VAZIO....
Engraçado que sequencias com 14 iguais ele acha...
Link com o código fonte e os arquivos de dados :https://mega.nz/#!iVImWbwI
Exemplo dos dados nos arquivos :
TODAS_COMB.txt
1017098 3 4 5 6 7 9 10 11 15 16 17 20 21 22 24
1017099 3 4 5 6 7 9 10 11 15 16 17 20 21 22 25
1017100 3 4 5 6 7 9 10 11 15 16 17 20 21 23 24
1017101 3 4 5 6 7 9 10 11 15 16 17 20 21 24 25
1017102 3 4 5 6 7 9 10 11 15 16 17 20 22 23 24
1017103 3 4 5 6 7 9 10 11 15 16 17 20 22 23 25
1017104 3 4 5 6 7 9 10 11 15 16 17 20 23 24 25
ALEATORIAS.txt
0027 03 06 08 10 11 12 13 14 15 18 20 21 22 24 25
0028 01 03 07 09 10 11 12 13 14 16 17 18 19 20 21
0029 01 04 05 06 08 09 13 14 16 17 19 20 21 22 24
0030 01 02 03 04 06 07 08 11 14 17 19 20 21 22 23
0031 01 02 03 04 09 13 14 15 17 19 20 21 22 24 25
Código fonte :
//---------------------------------------------------------------------------
#include <tchar.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
const int MAX=4;
int COMBINATION[16], DADOS_LIDOS[16], I=0, II=0, III=0, CONTA_APROV_15=0,
K=0, N=0, AUX_INT=0, AUX_LE=0, AUX_X=0, AUX_Y=0, CONTA_ENTRADA=0, CONTA_IGUAL=0;
double J;
FILE *TODOS_DADOS, *RESULTA_TODOS_15, *TODAS_COMB;
int _tmain()
{
J=1;
N=15;
K=15;
AUX_INT = 1;
CONTA_ENTRADA=0;
RESULTA_TODOS_15= fopen("RESULTADO_15.txt","w"),
TODAS_COMB= fopen("TODAS_COMBINACOES.txt","r"),
TODOS_DADOS = fopen("ALEATORIOS.txt","r");
if(!TODOS_DADOS){cout<<"Não foi possível abrir arquivo ALEATORIOS.txt! Programa será terminado!\n";}
else { cout<<"Abril o arquivo - ALEATORIOS.txt \n"; }
if(!TODAS_COMB){cout<<"\nNão foi possível abrir arquivo TODAS_COMBINACOES.txt! Programa será terminado!\n";}
else { cout<<"\nAbril o arquivo - TODAS_COMBINACOES.txt \n"; }
while (!feof(TODOS_DADOS))
{
fscanf(TODOS_DADOS,"%4d ", &AUX_LE);
if(ferror(TODOS_DADOS)) {printf("erro lendo o arquivo ALEATORIOS.txt"); exit;}
DADOS_LIDOS[0]=AUX_LE;
//cout<<DADOS_LIDOS[0]<<" : ";
for (II=1; II<=15; II++)
{
AUX_LE=0;
fscanf(TODOS_DADOS,"%2d", &AUX_LE);
if(ferror(TODOS_DADOS)) {printf("erro lendo o arquivo ALEATORIOS.txt"); break;}
DADOS_LIDOS[II]=AUX_LE;
//cout<<DADOS_LIDOS[II]<<", ";
}
//cout<<"\nSAI :\n";
while (!feof(TODAS_COMB))
{
fscanf(TODAS_COMB,"%7d ", &AUX_LE);
if(ferror(TODAS_COMB)) {printf("erro lendo o arquivo TODAS_COMBINACOES.txt"); exit;}
COMBINATION[0]=AUX_LE;
for (II=1; II<=15; II++)
{
AUX_LE=0;
fscanf(TODAS_COMB,"%2d", &AUX_LE);
if(ferror(TODAS_COMB)) {printf("erro lendo o arquivo TODAS_COMBINACOES.txt"); break;}
COMBINATION[II]=AUX_LE;
//cout<<COMBINATION[II]<<", ";
}
CONTA_IGUAL=0;
for(I=1; I<=15; I++){if (COMBINATION==DADOS_LIDOS){CONTA_IGUAL++;}}
// for(I=1; I<=15; I++){for (II=1; II<=15; II++) {if (COMBINATION==DADOS_LIDOS[II]){CONTA_IGUAL++;}}}
if (CONTA_IGUAL==15)
{
CONTA_APROV_15++;
fprintf(RESULTA_TODOS_15,"%7d : ",COMBINATION[0]); /* POSIÇÃO PROCURADA */
for (I=1; I<=15; I++) {fprintf(RESULTA_TODOS_15,"%2d ",COMBINATION);}
}
//if (CONTA_IGUAL>=14){
//cout <<"COM : "<<DADOS_LIDOS[0]<<" : "; for (II=1; II<=15; II++){cout<<COMBINATION[II]<<", ";}
//cout<<" - "<<CONTA_IGUAL<<"\n";
if ((COMBINATION[0] % 50000) == 0){cout <<COMBINATION[0]<<" ";}
//}
} /* FIM WHILE TODAS_COMB */
} /* FIM WHILE TODOS_DADOS */
fclose(RESULTA_TODOS_15);
fclose(TODOS_DADOS);
fclose(TODAS_COMB);
cout<<"\n\n\n NUMERO DE APROVADOS = "<<CONTA_APROV_15<<"\n";
cout << " FIM ! ! ! ";
system("PAUSE > null");
return 0;
}
ALGUÉM PODE ME AJUDAR ? ? ? Já faz mais de 4 dias que tô "encalacrado" e não encontro solução... Há titulo de informação, esse programa está sendo feito no CODE BLOCKS e compilado pelo compilador que vem junto com o instalador dele...
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.