Ir para conteúdo
Fórum Script Brasil

TheEduOliveira

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que TheEduOliveira postou

  1. Eu desisti da ideia do primeiro tópico e iniciei algo mais simples comparar primeiro todos da frequencia e depois todos dos canais, é mais facil por exemplo 3 APs, 2 frequencias 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 mas eu não sei por que, o código não funciona :( #include <stdio.h> #include <math.h> main () { int j=0,key=1,cont=1,K,K2,M,i,AP,F,C; scanf("%d",&AP); scanf("%d",&F); scanf("%d",&C); K=pow(F,AP); K2=K; int FREQ[AP][K]; M=AP; for(j=0;j<AP;j++) { for(i=0;i<K2;i++) { if(cont>F) cont=1; FREQ[j][i] = cont; key++; if(key==K) { cont++; key=1; } } cont=1; K=K/2; key=1; } for(i=0;i<K2;i++) { for(j=0;j<AP;j++) printf("[%d]",FREQ[i][j]); printf("\n"); } }
  2. Olá galera, tudo bem? Eu precisava de ajuda em um algoritmo assim:Eu tenho um N número de APs (acess point), e cada um desses APs tem um canal e uma frequência Canais de 1 até M Frequência de 1 até K tem que encontrar todas as possibilidades de valores, por exemplo eu tenho 3 APs, e 4 canais e 5 frequências,Mas ap1 ap2 ap3 C 1-1-1 F 1-1-1 ap1 ap2 ap3 1-1-1 1-1-2 ap1-ap2-ap3 1-1-1 1-2-2 E assim até terminar todas as combinações, alguém pode me ajudar com a lógica? Eu comecei tentando com um algoritmo recursivo, mas a lógica vai ficando muito difícil, Exemplo do que eu estava tentando : #include <stdio.h> #include <string.h> #include <stdlib.h> static const char alphabet[] = "12123"; int max = 0; int *pont; static const int alphabetSize = sizeof(alphabet) - 1; void bruteImpl(char* str, int index, int maxDepth) { int i; for (i = 0; i < alphabetSize; ++i) { str[index] = alphabet[i]; if (index == maxDepth - 1) { fprintf(pont,"%s\n", str); } else bruteImpl(str, index + 1, maxDepth); } } void bruteSequential(int maxLen) { char* buf = malloc(maxLen + 1); int i; for (i = 1; i <= maxLen; ++i) { memset(buf, 0, maxLen + 1); bruteImpl(buf, 0, i); } free(buf); } int main(void) { FILE *arq = fopen("teste.txt","w"); fclose(arq); arq = fopen("teste.txt","w+"); FILE *output = fopen("saida.txt","w"); pont = arq; int i=0,j; char aux[50],aux2[50]; bruteSequential(5); rewind(pont); while ((fscanf(pont,"%s",aux))!=EOF) { if(aux > 9999) i++; } printf("%d",i); return 0; } A bx
×
×
  • Criar Novo...