Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

s4lezardv1A

Membros Juniores
  • Total de itens

    13
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. finalizei com os 16 Se mesmo. nao consegui pensar em nada. E para fazer a condição de dar velha? De nenhum dos dois ganharem, o que pode ser colocado?
  2. usando esses 8 SE então poderia ser assim? se tab 11 e tab 12 e tab 13 = 0 ou tab11 e tab12 e tab13=X então? isso uma duvida que surgiu agora. Tem como unir essas posições? tipo, eu quero q a primeira linha ganhe se tudo for X. posso escrever se (tab11 e tab 12 e tab 13)= X então. se que tem como fazer algo do tipo? adicionado 3 minutos depois Deu certo esse ultimo kkkk, vai diminuir um tanto.
  3. consigo verificar somente então com 8 possibilidades para os 2 jogadores? A condição ficaria bem grande né? assim: se (tab[1,1]=jog1rep) e (tab[1,2]=jog1rep) e (tab[1,3]=jog1rep) então jog1rep representa o que o jogador 1 escolheu, X ou 0. Nessa eu só fiz a primeira linha, teria que ter então mais 7 SE (16 no total) E no seu caso, 8 no total isso? A unica forma que eu penso em deixar só com 8 SE é se eu escrever uma condição longa mesmo.
  4. valeu devair! Não acredito q era tão simples assim, quebrei a cabeça kk. Agora estou na parte da condição para vitorias. Por enquanto estou pensando só em SE(if). Se linha, se diagonal,se coluna igual a X...etc. Tem outro jeito de fazer isso? To pensando em tentar fazer dentro de uma matriz novamente.
  5. Boa noite pessoa, dentro do meu codigo eu tenho uma matriz. Do jogo da velha. do vetor tab eu tenho numeros de 1 ate 9 e do vetor rep tambem de 1 ate 9 , mas somente o tab recebe o X ou O. então eu quero colocar uma condição, que o usuario leia a jogada. Verifique o numero que ele leu na matriz rep e veja se a matriz tab na mesma posição tem X ou O. Ate ai eu fiz. Mas que quero que a cada novo leia, ele veja a matriz inteira novamente. O que ele esta fazendo: coloquei X e O na primeira e segunda posição da matriz TAB. quando digito novamente 1 ele da como ocupada, quando digito 2 ele tambem da como ocupada. Mas quando digito novamente 1 ele n zera a matriz e continua a contagem normalmente ate o final: para m de 1 ate 3 faca para n de 1 ate 3 faca // aqui nesse primeiro eu encontro onde é a jogada se numpcarac(jogada1) = rep[m,n] então //aqui faz a comparação das duas matrizes se tab[m,n] <> rep[m,n] então repita escreval(" posição ja preenchida!") escreva(jogador1," escolha a sua jogada novamente:") leia (jogada1) ate (rep[m,n] <> numpcarac(jogada1)) m<-1 n<-1 fimse fimse fimpara fimpara O que posso fazer para ele zerar a contagem, e verificar desde o começo esse codigo novamente sempre a cada leia? adicionado 32 minutos depois Conseguiiiiiiiiiiiiiiiiiiiii!! Afff 1:30 tentando. Coloquei um repita logico e a matriz dentro, se FALSO repita, se VERDADEIRO não repita. Alguem sabe se tem outro jeito(deve ter) de resolver? só por curiosidade
  6. entendi a logica certa então? O que eu entendi é que no primeiro algoritmo ele escrevia sempre em cima dos dados, acredito que como você disse era por causa do vx <>0 vx=0 em alguma parte um dos dois iria escrever por cima do outro, gerando erro isso?
  7. CONSEGUIIII!!!!! eu acho.... kkk simon vegas, veja se a minha logica esta certa. Eu percebi que enquanto fazia o SE dentro do PARA ele ia vendo todo o vetor e escrevia os dados por cima, eu entendi então que eu precisava parar o codigo quando encontrasse um NUMERO=VETORX ou NUMERO<>VETORX... mas eu não conseguia, então toda hora ia escrevendo por cima, tentei com uma variavel logica, se = ele sai, ou se <> ele sai tambem, mas ele mudava o que estava dentro do SE. Era isso que estava faltando né? o que eu fiz é colocar uma condiçao se = ele ficava 1 e não importava se fosse por todo o vetor, ainda continua 1. dai depois do para ele usava esse 1 ai sim escrevia, e senão tivesse encontrado, ai ele escrevia outro dado: veja se ficou certo sem erros. Se puder rodar os 2 codigos. eu entendia que no primeiro codigo ele escrevia por cima, mas eu ainda assim não entendo porque ele escreve somente em cima do segundo numero repetido... o codigo acredito que certo: Var // Seção de Declarações das variáveis Vx,Vy: vetor[1..5] de inteiro i,j,k,l,numero,repetido: inteiro trava: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escrevaL("Digite 5 numeros") escreval("") para i de 1 ate 5 faca escreval("Digite o ",i,"° numero:") leia (numero) trava<-0 para j de 1 ate 5 faca se numero=vx[j] então se (numero<>0) então trava<-1 fimse fimse fimpara se trava=1 então vx[i]<-0 vy[i]<-numero numero<-0 fimse se trava<>1 então vx[i]<-numero vy[i]<-numero numero<-0 fimse fimpara escreval("") escreval("") para l de 1 ate 5 faca repetido<-0 para k de 1 ate 5 faca se vx[l] = vy[k] então repetido<-repetido+1 fimse fimpara se repetido>1 então escreval ("O numero ",vy[l]," apareceu ",repetido," vezes nas posições: ") para k de 1 ate 5 faca se vx[l] = vy[k] então escreva ("{",k," }") fimse fimpara escreval("") fimse fimpara eu gostaria de saber tambem se tem outra forma de comparar se um numero digitado se repete em um vetor...
  8. galera perdi o dia inteiro tentando achar o erro aqui. Eu estou fazendo um algoritmo que leia 5 numeros e veja qual deles se repete, e imprima qual numero é , quantas vezes ele se repete e em quais indices. Ja fiz TUDO. mas ele tem um pequeno bug . Na primeira parte para comparar eu fiz com que se o numero fosse igual, o vetor x recebia 0, se fosse diferente o vetor x recebia o numero lido. Mais tarde eu fazia outra comparação e escrevia o vetor que repetia. Da tudo certo. Só que na segunda vez ele não grava o 0. exemplo: eu coloco 1 1 2 2 5.. beleza... era pra ele gravar 1 0 2 0 5 assim eu saberia que o numero 1 e 2 se repetiram. Mas ele ta gravando 1 0 2 2 5. o codigo: Var // Seção de Declarações das variáveis Vx,Vy: vetor[1..5] de inteiro i,j,k,l,numero,repetido: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escrevaL("Digite 5 numeros") escreval("") para i de 1 ate 5 faca escreval("Digite o ",i,"° numero:") leia (numero) para j de 1 ate 5 faca se (numero= vx[j]) e (numero<>0) então vx[i]<-0 vy[i]<-numero numero<-0 fimse se (numero<>vx[i]) e (numero<>0) então vx[i]<-numero vy[i]<-numero numero<-0 fimse fimpara fimpara escreval("") escreval("") para l de 1 ate 5 faca repetido<-0 para k de 1 ate 5 faca se vx[l] = vy[k] então repetido<-repetido+1 fimse fimpara se repetido>1 então escreval ("O numero ",vy[l]," apareceu ",repetido," vezes nas posições: ") para k de 1 ate 5 faca se vx[l] = vy[k] então escreva ("{",k," }") fimse fimpara escreval("") fimse fimpara Podem ver que se colocar por exemplo: 1 1 2 5 4 ele vai dar certo. Agora se colocar um segundo numero repetido ele ja não da certo.
  9. Também estou com um exercício parecido de vetores. Ainda estou pegando o jeito. No meu eu tenho que ler 10 números (coloquei 4 para facilitar os testes), e ver se é repetido, quantas vezes ele repete, e em quais índices ele aparece repetido: Var // Seção de Declarações das variáveis V1: vetor[1..4] de inteiro v2: vetor[1..4] de inteiro cont,cont2,cont3: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... para cont de 1 ate 4 faca escreval("Digite o",cont,"° numero:") leia (v1[cont]) fimpara escreval("________________") para cont2 de 1 ate 4 faca para cont3 de 1 ate 4 faca se (V1[cont3] = V1[cont2]) e (cont2<>cont3) então escreval("O numero",V1[cont2]," apareceu no ",cont2,"º indice") fimse fimpara fimpara Fimalgoritmo Fiz somente ate aqui, tirando as explicações acima que são referentes a pergunta do outro colega, mesmo envolvendo o mesmo tema, vcs podem me ajudar a entender a lógica de como fazer?? tem que dar algo assim: o numero 45 apareceu 3 vezes, no índice 2, no índice 8 e no índice 10
  10. Pessoal consegui. Usei um algoritmo em que tem um laço, leia 10 numero,depois do leia ele tem outro laço, dentro desse laço tem um loop, se o numero digitado for igual a outra variavel peça para digitar novamente. Se não a variavel recebe o numero digitado. Exemplo: para counter de 1 ate 10 faca escreval( "Digite o",counter,"º numero:") leia (V[counter]) para counter1 de 1 ate counter faca enquanto (V[counter] =V1[counter1]) faca escreval escreval escreval("Numero ",V[counter]," ja foi digitado como",counter1,"º numero") escreval("Digite novamente o ",counter,"° numero.") leia (V[counter]) fimenquanto fimpara V1[counter1]<-V[counter] a logica principal fica assim, e no resto ele só exibe com outro laço
  11. ok vou mudar as variaveis e tentar pensar em alguma coisa dessa forma. Mas colocando esses 2 laços, primeiramente o programa ira permitir que eu digite os 10 numeros, para depois ele mostrar os repetidos e pedir para digitar um novo numero.? Ou permitira com que se eu digitar um numero 10 no indice1 e digitar o numero 10 no indice 3, ele ja peça para digitar um novo numero para o indice 3?
  12. sim sim vou postar o codigo que eu fiz ate agora, perdão não tinha me informado sobre essa parte. Estou no primeiro semestre de T.I, o codigo que eu fiz ate agora: ================================================================= Var // Seção de Declarações das variáveis vNumbers,vNumbers2: vetor[1..10] de inteiro counter,counter2,repetido: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Para counter de 1 ate 10 faca escreval("Digite um numero:") leia (vNumbers[counter]) repetido<- vNumbers[counter] se vNumbers[counter] = repetido então escreval("numero repetido") fimse fimpara Fimalgoritmo =========================================================== se vNumbers[counter] = repetido então escreval("numero repetido") Esssa comparação que não estou conseguindo, quero que a variavel repetido receba o numero digitado, e ela percorra todo os vetores procurando se tem numero repetido ou não. Acredito que tenha que colocar outro para e reformular a comparação, mas não sei como.
  13. Pessoal estou com uma duvida nesse exercicio. Não estou entendendo muito vetores, alguem pode ajudar a resolver? O começo eu ja consegui, o que eu não estou conseguindo é que depois do numero digitado, o programa percorra do inicio ate o final dos vetores para saber se o numero digitado é igual ou não: Faça um algoritmo que leia 10 números e armazene-os em um vetor de 10 posições. Porém, antes de armazenar o número, verifique se ele já não existe no vetor, caso exista mostre uma mensagem de erro ao usuário juntamente com os números que já foram digitados e peça para que o usuário digite um número diferentes dos que já existem. Se alguem puder dar uma verificada no codigo e dizer onde estou errando por favor.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×