Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

npresto

Criando uma array

Recommended Posts

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

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

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

Criando uma array, como criar uma array com o tamanho de uma variavel

Neste 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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.