npresto 0 Denunciar post Postado Setembro 20, 2006 Fala galera, sou novo aqui no forum e tb novo no mundo do C/C++ heheheh... É o seguinte tenho que fazer um programa em C para a faculdade que funcione como aquele jogo "mastermind" ou senha (para quem não se lembra....Eu digito uma senha e o seu comprimento -no maximo 9- e o jogador tem que acertar, e cada vez que ele erra eu digo se acertou o número e ou a posição). Resolvi usar arrays para resolver esse problema, porem não estou conseguindo criar uma com o tamanho de uma variável (no caso o comprimento da sequencia)...Que ai depois eu iria comparar as arrays e fazer o resto do programa. Se alguem puder me ajudar fico muito agradecido!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
scarenci 0 Denunciar post Postado Setembro 20, 2006 Fala galera, sou novo aqui no forum e tb novo no mundo do C/C++ heheheh... É o seguinte tenho que fazer um programa em C para a faculdade que funcione como aquele jogo "mastermind" ou senha (para quem não se lembra....Eu digito uma senha e o seu comprimento -no maximo 9- e o jogador tem que acertar, e cada vez que ele erra eu digo se acertou o número e ou a posição). Resolvi usar arrays para resolver esse problema, porem não estou conseguindo criar uma com o tamanho de uma variável (no caso o comprimento da sequencia)...Que ai depois eu iria comparar as arrays e fazer o resto do programa. Se alguem puder me ajudar fico muito agradecido!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Cara eu não entendi direito o que você queria dizer!! mas se for igual ao jogo da forca tipo é muito simples!!!É só fazer um for percorendo o vetor comparando e uma variável no caso dele entrar no if só para dizer se acertou: tipo int *vetor ou int vetor[30]; o último caracter é o '\0' for(i=0;i<strlen(vetor);i++) { if(numero == vetor) { printf("acertou na posição %d", i); //e você pode até imprimi-la em um outro vetor tipo vetorExibicao=vetor; //imprime for(i=0;i<strlen(vetorExibicao);i++) printf("%d",vetorExibicao); } } Compartilhar este post Link para o post Compartilhar em outros sites
npresto 0 Denunciar post Postado Setembro 20, 2006 Scarenci muito obrigado mais ainda to travado.... Nesse jogo tenho que acertar a senha (que são números ou cores), e informar se acertei a posição do número ou quantos números certos em posições erradas. * O primeiro for que usei para quebrar os números ta sendo ignorado... não sei porque... -ai vai o código(que não esta terminado, são só as partes críticas) galera e por favor quem puder ajudar fico muito grato!!! #include <stdio.h>main(){ int senha, senhaver, num, compsenha, numcor, corr, i, j, m, a, z; while(compsenha>9||numcor>9){ printf("INDIQUE O COMPRIMENTO DA SENHA (ate 9 numeros)\n"); scanf("%d", &compsenha); printf("INDIQUE O NUMERO DE CORES DISPONIVEIS\n"); scanf("%d", &numcor); printf("INDIQUE A SENHA\n"); scanf("%d", &senha); }senha=senhaver; int s[9]={0}, n[9]={0}; i=0; j=0; for(i=compsenha,j=compsenha-1;i=0;i--,j--){ s[j]=senha%10; senha=senha/10; } z=1; while(z!=0){ printf("TENTE A SUA SORTE AMIGO (senha de %d numeros)", compsenha); scanf("%d", &num); a++; if(num==senhaver){ z=0; } for(i=compsenha,j=compsenha-1;i=0;i--,m--){ s[m]=num%10; senha=senha/10; } for(i=compsenha-1;i=0;i--){ if(s[i]==n[i]) corr++; } system("PAUSE"); return 0;}} Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Setembro 20, 2006 Criando uma array, como criar uma array com o tamanho de uma variavelNeste caso use ponteiros, você pode reservar memória utilizando as funções malloc ou calloc.Por exemplo: int *vetor; /* ponteiro para int */vetor = (int *)malloc(N * sizeof(int)); /* reservo espaço para N ints neste vetor */Depois posso passear pelo vetor simplesmente incrementando ele. O primeiro for que usei para quebrar os números ta sendo ignorado... não sei porque...Provavelmente o problema está no i=0 for(i=compsenha,j=compsenha-1;i=0;i--,j--){ s[j]=senha%10; senha=senha/10; }Você precisa colocar uma condição lá, o certo sera fazer i==0 (que seria uma comparação), que é diferente de i=0 (atribuição) Compartilhar este post Link para o post Compartilhar em outros sites
Ivan_10 0 Denunciar post Postado Outubro 3, 2006 Sobre esse assuntos dos Arrays, gostaria de saber se tem jeito de retornar um array em uma function e como faço para fazer isso. Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 3, 2006 Sobre esse assuntos dos Arrays, gostaria de saber se tem jeito de retornar um array em uma function e como faço para fazer isso.Tem sim, mas você deve usar ponteiros.Na verdade você vai estar retornando um ponteiro para o início da array. Compartilhar este post Link para o post Compartilhar em outros sites
npresto 0 Denunciar post Postado Outubro 3, 2006 OPA GALERA!!Desculpa a demora ai mais só deu tempo pra entrar agora... meu erro tosco o meu... mais é isso ai aprendendo sempre....skimo-solar e todo mundo ai que ajudou valeu mesmo pela ajuda !! Obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites