Ir para conteúdo
Fórum Script Brasil

Joelson Silva

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Sobre Joelson Silva

Joelson Silva's Achievements

0

Reputação

  1. Olá Diógenes você tem dois casos o primeiro basta você pecorrer as linhas da matriz ou as colunas e cada interação somar o valor 5, no segundo caso voçê tem informa qual a posição da linha e da coluna que deseja soma.
  2. pessoal estou precisando de um help dos senhores, 1 - como faço para chamar o metodo dentro do metodo principal o main, exibir suas informações, só estou conseguindo exibir dentro do proprio método. 2 - passar o resultado do metodo "contImparesPares()" para "proximoMetodo()" para ser usado. eu pergunto se é preciso retorna o resultado do metodo "contImparesPares()", para metodo principal para ser usado no "proximoMetodo()" ou posso fazer direto do metodo para metodo. aguardo pela ajuda. package br.Exercicio; public class MetodoImparPar { public static void main(String[] args) { int tam = 6; int[] vetA = {13, 10, 17, 14, 25, 26}; contImparesPares(vetA, tam); } public static void contImparesPares(int[] vetA, int tam) { int[] impar = new int[6]; int[] par = new int[6]; int contImpar = 0, contPar = 0; for (int i = 0; i < tam; i++) { if (vetA[i] % 2 == 1) { impar[i] = impar[i] + vetA[i]; contImpar++; } else { par[i] = par[i] + vetA[i]; contPar++; } } for (int i = 0; i < tam; i++) { System.out.print(impar[i] + " "); } System.out.println(); for (int i = 0; i < tam; i++) { System.out.print(par[i] + " "); } System.out.println(); System.out.print(" qtde impares: " + contImpar); System.out.print(" qtde impares: " + contPar); } public static void proximoMetodo(int[] impar, int[] par, int contImpar, int contPar) { } }
  3. obrigado, mais já tinha feito a correção.
  4. pessoal tenho uma duvida de como fazer para controlar o ciclo do "for", desde já agradeço. passo 1: o primeiro procedimento1 vai até chegar na sequencia 1 2 4 e exibe, chamar o segundo procedimento2. passo2: o segundo procedimento2, vai até chegar na sequencia 1 4 e exibe, passo3: chamar o primeiro procedimento1, que parou na sequencia 1 2 4, gerar a sequencia 1 2 5, 1 3 4 exibe, chamar o passo 2 passo2: chamar o segundo procedimento2, que parou na sequencia 1 4, gerar a sequencia 1 5, 2 3, 2 4 exibe ate teminar as sequencias. algoritmo "semnome" // Função : // Autor : // Data : 15/11/2022 // Seção de Declarações var vetA: vetor[1..3]de inteiro vetB: vetor[1..2]de inteiro procedimento procediment1 var i,j,x,p1,p2,p3:inteiro inicio // Seção de Comandos para i de 1 ate 5 faca vetA[1]:= i para j de i+1 ate 5 faca vetA[2]:= j para x de j+1 ate 5 faca vetA[3]:= x escreval(vetA[1],vetA[2],vetA[3]) fimpara fimpara fimpara fimprocedimento procedimento procediment2 var i,j:inteiro inicio // Seção de Comandos para i de 1 ate 5 faca vetB[1]:= i para j de i+1 ate 5 faca vetB[2]:= j escreval(vetB[1],vetB[2]) combinar1 fimpara fimpara fimprocedimento inicio combinar1 combinar fimalgoritmo
  5. Estou tentando inverte a posição sem repetir posição, para qualquer tamanho. exemplo: 1 2 3 2 1 3 3 1 2 algoritmo "exericio" // Função : // Autor : // Data : 25/10/2022 // Seção de Declarações var num,valor,cont,i,ultvalor:inteiro inicio // Seção de Comandos escreva("Digite numero:") leia(num) cont:=1 enquanto cont <> num faca para i de cont ate 3 faca ultvalor:=cont se(i = 1)então escreva(i) fimse se(i <> ultvalor)então escreva(i) senao ultvalor:=ultvalor+1 fimse fimpara escreval cont:=cont+1 valor:=ultvalor fimenquanto fimalgoritmo
  6. Preencha um vetor de numeros inteiros para 10 posições, contar a qtde numeros em sequencia. sendo que os numeros em sequencias não se repetem, tipo: 11, 222,11. exenplo sequencias a encontrar: vetor 1, 3 4, 6 7 8 9, 2, 10. contagem 1, 2, 4, 1, 1, = minha sequencia seria: 12411 outra vetor 1, 3, 5 ,7 , 9. contagem 1, 1, 1, 1, 1 = minha sequencia seria: 11111 package teste; public class ContSeq2 { public static void main(String[] args) { int[] vetor = {1,3,4,6,7,8,9,2,10}; //12411 //int[] vetor = {1,3,5,7,9}; //11111 int cont = 0; StringBuilder str = new StringBuilder(); String c = String.valueOf(vetor[0]); for (int i = 0; i < vetor.length; i++) { if (i < vetor.length - 1) { if (vetor[i] + 1 == vetor[i + 1]) { cont++; continue; } } if(cont == 1) { str.append(c).append(",").append(vetor[i]); cont=0; }else if (cont > 1) { str.append(c).append(" a ").append(vetor[i]); cont = 0; } else { str.append(vetor[i]); } if (i < vetor.length - 1) { str.append(","); c = String.valueOf(vetor[i + 1]); } } System.out.println(str); } }
  7. Joelson Silva

    Fim

    ate mais
  8. Onde estou errando na verificação da matriz. Procurar na linha da matriz, números iguais em suas respectivas posições e remover da matriz algoritmo "matriz" // Função : // Autor : joelson // Data : 22/02/2021 // Seção de Declarações var vetA: vetor[1..3]de inteiro vetBimpar: vetor[1..3]de inteiro j,i,x,k,linha,coluna,repetido,contImpar,cont,total:inteiro matriz: vetor[1..10,1..3]de inteiro inicio // Seção de Comandos total:=0 enquanto total < 10 faca total:=total+1 escreval("Digite o Vetor de um total de 10:,[",total,"]") para j de 1 ate 3 faca escreva("Vetor:[",j,"]") leia(vetA[j]) fimpara escreval() //achar numeros impares para i de 1 ate 3 faca se(vetA[i] mod 2 = 1)então vetBimpar[i]:= vetA[i] fimse fimpara PARA k DE 1 ATE CONT FACA repetido:=0 PARA linha DE 1 ATE 3 FACA PARA coluna DE 1 ATE 3 FACA SE(vetBimpar[linha] = matriz[K,coluna])então repetido:=repetido+1 fimse FIMPARA FIMPARA fimenquanto //escrever a matriz depois dos cinco valores digitados escrevaL(" exibir Matriz") escrevaL("__________________") PARA linha DE 1 ATE 3 FACA PARA coluna DE 1 ATE 3 FACA escreva(matriz[linha,coluna]) FIMPARA escreval() FIMPARA contImpar:=0 vetBimpar[1]:=0 vetBimpar[2]:=0 vetBimpar[3]:=0 escreval("Total digitados: ", total) fimalgoritmo
  9. Joelson Silva

    fechamento

    Bom dia Fechamento para acerto de terno na quina. o objetivo e acertar a logica do fechamento. Combinando 8 dezenas de grupos de 5 é igual 56 volantes, dentro desses 56 volantes a vários ternos repetidos, gostaria de remover esses ternos repetidos. detalhe não se preocupem com gerador ou quantidade para combinar. minha duvida: no código abaixo ele me apresenta a seguinte matriz. onde está o meu erro de logica, pois tem conjunto de três iguais que não encontro no fechamento na matriz abaixo. está na matriz abaixo, tem: 123, 124, 125,134,135,145,234,234,345, 126,127,128,267,267,278,345,346,347,356,357,367. não está na matriz abaixo, não tem: 1 3 6; 1 3 7; 1 3 8; 1 4 6; 1 4 7; 1 4 8; 1 5 6; 1 5 7; 1 5 8; 2 3 6; 2 3 7; 2 3 8; 2 4 5; 2 4 6; 2 4 7; 2 4 8; 2 5 6; 2 5 7; 2 5 8; 2 6 7; 2 6 8; 2 7 8; 3 4 8; 3 5 6; 3 5 7; 3 5 8; 3 6 7; 3 6 8; 3 7 8; 4 5 8; 4 6 7; 4 6 8; 4 7 8; 5 6 8; 5 7 8; 6 7 8; matriz do código: 1 2 3 4 5 1 2 6 7 8 3 4 5 6 7 como a matriz deve ficar: 1 2 3 4 6; 1 2 3 5 8; 1 2 4 7 8; 1 3 6 7 8; 1 4 5 6 7; 2 3 4 5 7; 2 5 6 7 8; 3 4 5 6 8; package br.Exercicio; import java.util.Scanner; public class CombinaReduzido { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] vetA = new int[5]; int[][] array = new int[99999][5]; int num = 0, iguais = 0,cont = 0, total = 0; System.out.println("Digite numero Comb:"); num = scan.nextInt(); for (int n1 = 1; n1 <= num; n1++) { vetA[0] = n1; for (int n2 =n1 + 1;n2 <= num; n2++) { vetA[1] = n2; for (int n3 =n2 + 1;n3 <= num; n3++) { vetA[2] = n3; for (int n4 =n3 + 1;n4 <= num; n4++) { vetA[3] = n4; for (int n5 =n4 + 1;n5 <= num; n5++) { vetA[4] = n5; total++; for (int t = 0; t <= cont; t++) { iguais = 0; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (vetA == array[t][j]) { iguais = iguais + 1; } } } if (iguais > 3) { break; } } if (iguais < 3) { cont = cont + 1; for (int x = 0; x < 5; x++) { array[cont][x] = vetA[x]; } System.out.println(" "+vetA[0]+" "+vetA[1]+" "+ vetA[2]+" "+ vetA[3]+" "+vetA[4]); } } } } } } System.out.println("reduzidos:"+ cont); System.out.println("total gerados:"+ total); } }
  10. Leonardo http://loteriaeconomica.blogspot.com/2011/07/minimos-matematicos.html eu coloquei endereço acima, para você entender melhor, o padrão abaixo de como aplicar, ou seja o código ele atinge condição é não a garantia. V = Total de dezenas da matrizK = Tamanho dos blocos (qtd de dezenas do bilhete)T = GarantiaM = Condição V=:8 K=:5 T:=3 M:=3 aqui tá todas as sequencias de três : 123, 124, 125, 126, 127, 128, 134, 135, 136, 137, 138, 145, 146, 147, 148, 156, 157, 158, 167, 168, 178, 234, 235, 236, 237, 238, 245, 246, 247, 248, 256, 257, 258, 267, 268, 278, 345, 346, 347, 348, 356, 357, 358, 367, 368, 378, 456, 457, 458, 467, 468, 478, 567, 568, 578, 678. A matriz abaixo, possui pelo menos 01 volante com a garantia de 3 acertos iguais, ou seja se você procurar qualquer conjunto da sequencia acima você acha na matriz abaixo, foi o que eu não conseguir atingir. 12346 12358 12478 13678 14567 23457 25678 34568 duvidas é só chamar, aguardo sua resposta. abraço.
  11. Leonardo meu querido a sequencia ainda esta furada, mais a matriz abaixo ela atinge o objetivo, tem todas as sequencias de 3. 1 2 3 4 6 1 2 3 5 8 1 2 4 7 8 1 3 6 7 8 1 4 5 6 7 2 3 4 5 7 2 5 6 7 8 3 4 5 6 8 Talvez para se atinge a matriz acima seja o esquema abaixo, como ela foi feita deslocando as combinações, assim cada dezena tem as mesma quantidade a 1 repete 5 vezes e assim por diante, de mais essa analisada me diga qual o melhor caminho. obrigado. um abraço.
  12. Muito obrigado Leonardo foi de grande ajuda. mais a sequencia está furada, veja que se eu escolher 8 números para formar conjuntos 5 em 5, o total da 56 volantes, aplicando a redução para se ter 3 acerto, o código apresentar o seguinte resultado: 1 2 3 4 5 1 2 3 6 7 1 2 4 6 8 1 2 5 7 8 1 3 4 7 8 1 3 5 6 8 1 4 5 6 7 as seguintes sequencias no reduzido só tem 2 acerto:> 2 3 8; 247;256;346;357;367;378;458;678 Bem a sua logica não esta errada, porque você está olhando para o sorteio que são 5 dezenas, conferindo com as 5, assim vai esta contigo o conjunto de 3, mais como o objetivo e ter apenas os 3 o algoritmo precisa de uma modificação.
  13. Olá pessoal Estou precisando de uma ajuda no código abaixo, estou fazendo exercício sobre a loteria, o que é para fazer, Dentro de um universo de numero no nosso caso eu escolhi 8 dezenas combinadas de 5 em 5, eu tenho que encontrar todas as sequencias de 3 ou seja 3 acerto iguais. exemplo, 123,124,125,126,127 até ultima 678. mais tem algum erro no código porque tem volantes se repetindo números a mais, veja no volantes 1 e volantes 3, ele repete 4 números iguais, o mesmo acontece para outro caso volantes 2=: 1 2 3 6 7 e volantes 5=: 1 2 5 6 7. segue o código abaixo para uma correção. Agradeço quem pode dar uma luz. obrigado. volantes 1=: 1 2 3 4 5 volantes 2=: 1 2 3 6 7 volantes 3=: 1 2 4 5 6 volantes 4=: 1 2 4 7 8 volantes 5=: 1 2 5 6 7 volantes 6=: 1 3 4 5 6 volantes 7=: 1 3 4 7 8 volantes 8=: 1 3 5 6 7 volantes 9=: 1 4 5 6 8 volantes 10=: 2 3 4 5 6 volantes 11=: 2 3 4 7 8 volantes 12=: 2 3 5 6 7 volantes 13=: 2 4 5 6 8 volantes 14=: 3 4 5 6 7 reduzidos: 14 total gerados: 56 algoritmo "loteria" var vetA: vetor[1..5]de inteiro vetB: vetor[1..5]de inteiro num,i,j,iguais,d,x,a,cont,total:inteiro n1,n2,n3,n4,n5:inteiro inicio // Seção de Comandos escreva("informe numero:") leia(num) para n1 de 1 ate num faca vetA[1]:= n1 para n2 de n1+1 ate num faca vetA[2]:= n2 para n3 de n2+1 ate num faca vetA[3]:= n3 para n4 de n3+1 ate num faca vetA[4]:= n4 para n5 de n4+1 ate num faca vetA[5]:= n5 total:= total + 1 para i de 1 ate 5 faca para j de 1 ate 5 faca se(vetA = vetB[j])então iguais:=iguais + 1 fimse fimpara fimpara se(iguais = 3)ou(iguais = 0)então para x de 1 ate 5 faca vetB[x]:= vetA[x] fimpara a:=a + 1 escrevaL("volantes",a,"=:",vetA[1],vetA[2],vetA[3],vetA[4],vetA[5]) cont:=cont + 1 fimse //************************************ x:=0 iguais:=0 fimpara fimpara fimpara fimpara fimpara escreval("reduzidos:", cont) escreval("total gerados:", total) fimalgoritmo
×
×
  • Criar Novo...