Ir ao conteúdo
  • Cadastre-se

Gustavo Bove

Membro Júnior
  • Posts

    14
  • Cadastrado em

  • Última visita

  1. Eu entendi a lógica sim, porém ainda não consegui manipular o vetor da maneira que quero, alonguei o código e fiz sem vetor. Mas ainda sim gostaria muito que alguém me desse uma luz sobre a minha questão. package exercicio6; import java.util.Scanner; public class Exercicio6 { public static void main(String[] args) { Scanner input = new Scanner (System.in); String nome1, nome2, nome3, aux = null; int idade1, idade2, idade3, maior = -9999, menor = 9999, m = 0; double media = 0; System.out.println ("Insira o nome: "); nome1 = input.nextLine(); System.out.println ("Insira a idade do " +nome1); idade1 = input.nextInt(); System.out.println ("Insira o nome: "); nome2 = input.next(); System.out.println ("Insira a idade do " +nome2); idade2 = input.nextInt(); System.out.println ("Insira o nome: "); nome3 = input.next(); System.out.println ("Insira a idade do " +nome3); idade3 = input.nextInt(); if (idade1 > maior) { maior = idade1; aux = nome1; } if (idade2 > maior) { maior = idade2; aux = nome2; } if (idade3 > maior){ maior = idade3; aux = nome3; } media = (idade1 + idade2+ idade3) / 3; System.out.println ("A pessoa mais velha é " +aux+ " com " +maior+ " anos de idade"); System.out.println ("A media das idades é de " +media+ " anos"); } }
  2. Poderia digitar só essa parte, por favore?
  3. Tenho que inserir o nome de uma pessoa e sua respectiva idade, em seguida mostrar qual a maior idade digitada e o nome da pessoa mais nova. Estou com problemas em conseguir mostrar o nome da pessoa mais nova e mostrar qual a idade dela, segue o código que fiz até o momento: package exercicio6; import java.util.Scanner; public class Exercicio6 { public static void main(String[] args) { Scanner input = new Scanner (System.in); String nome[] = new String[3]; int idade[] = new int[3]; int maior = -9999, menor = 9999; for (int i=0; i<3; i++) { System.out.println ("Insira o nome da pessoa: "); nome[i] = input.nextLine(); } int i=0; for (int j=0; j<3; j++) { System.out.println ("Insira a idade do(a) " +nome[i++]); idade[j] = input.nextInt(); } for (int j=0; j<3; j++) { if (idade[j] < menor) { menor = idade[j]; //fiz esse for para ver qual é a menor idade, consigo mostrar em forma //de numero, mas não consigo dizer para qual das pessoas a menor idade //pertence } for (j=0; j<3; j++) { if (idade[j] > maior) { maior = idade[j]; } } System.out.println("Maior idade digitada: " +maior); } } }
  4. import javax.swing.JOptionPane; public class JogodaForca { public static void main(String[] args){ boolean acertou = false; int qtd=0; int contaErros = 0; String senha, tenta; String boneco = "\0"; String v = JOptionPane.showInputDialog(null,"::: Jogo da Forca :::\nConfigurando...\nDigite a Palavra-chave a ser descoberta").toLowerCase(); char formaPalavra[] = new char[v.length()]; String apresentaPalavra="\0"; for(int y = 0; y < v.length(); y++){ formaPalavra[y] = '_'; apresentaPalavra += formaPalavra[y] + " "; } JOptionPane.showMessageDialog(null,"::: Inicio do Jogo ::: \n"); for(int j = 0; j < v.length() + 5 ; j++) //tentativas = qtd de palavras + 5 erros { acertou = false; senha = JOptionPane.showInputDialog(null,"Tentativa: " + (j+1) + " de " + (v.length() + 5) + "\n" + apresentaPalavra + "\nDigite a letra:"); apresentaPalavra= "\0"; for(int i = 0; i < v.length(); i++) { tenta = v.substring(i,i+1); if(senha.trim().equals(tenta)) { acertou = true; qtd++; formaPalavra[i] = senha.charAt(0); //converte de String para apresentaPalavra = apresentaPalavra + formaPalavra[i] + " "; if (qtd == v.length()) { JOptionPane.showMessageDialog(null, "Você Ganhou! PalavraCompleta: " + v + "\nTotal de Tentativas: " + (j+1) ); System.exit(0); } }else { apresentaPalavra += formaPalavra[i] + " "; } } if(acertou == false){ contaErros++; boneco = "\0"; switch(contaErros) { case 1: boneco = " __ O \n"; boneco += "|\t \n"; boneco += "|\t \n"; boneco += "|\t \n"; break; case 2: boneco = " __ O \n"; boneco += "| | \n"; boneco += "|\n"; boneco += "|\n"; break; case 3: boneco = " __ O \n"; boneco += "| -|-\n"; boneco += "|\n"; boneco += "|\n"; break; case 4: boneco = " __ O \n"; boneco += "| -|-\n"; boneco += "| | \n"; boneco += "|\n"; break; case 5: boneco = " __ O \n"; boneco += "| -|-\n"; boneco += "| | | \n"; boneco += "| \n"; break; } JOptionPane.showMessageDialog(null, boneco + "\nVocê ERROU " + contaErros + " vez(es)"); if(contaErros>= 5) { JOptionPane.showMessageDialog(null, "PERDEU! FIM DO JOGO" ); System.exit(0); } } } } } Alguém poderia me explicar esse programa, por favor? Comentar a função de cada linha etc? Queria entende-lo.
  5. Algum moderador por favor apaga esse tópico, não tinha percebi que eu estava na área errada. Me desculpem
  6. import javax.swing.JOptionPane; public class JogodaForca { public static void main(String[] args){ boolean acertou = false; int qtd=0; int contaErros = 0; String senha, tenta; String boneco = "\0"; String v = JOptionPane.showInputDialog(null,"::: Jogo da Forca :::\nConfigurando...\nDigite a Palavra-chave a ser descoberta").toLowerCase(); char formaPalavra[] = new char[v.length()]; String apresentaPalavra="\0"; for(int y = 0; y < v.length(); y++){ formaPalavra[y] = '_'; apresentaPalavra += formaPalavra[y] + " "; } JOptionPane.showMessageDialog(null,"::: Inicio do Jogo ::: \n"); for(int j = 0; j < v.length() + 5 ; j++) //tentativas = qtd de palavras + 5 erros { acertou = false; senha = JOptionPane.showInputDialog(null,"Tentativa: " + (j+1) + " de " + (v.length() + 5) + "\n" + apresentaPalavra + "\nDigite a letra:"); apresentaPalavra= "\0"; for(int i = 0; i < v.length(); i++) { tenta = v.substring(i,i+1); if(senha.trim().equals(tenta)) { acertou = true; qtd++; formaPalavra[i] = senha.charAt(0); //converte de String para apresentaPalavra = apresentaPalavra + formaPalavra[i] + " "; if (qtd == v.length()) { JOptionPane.showMessageDialog(null, "Você Ganhou! PalavraCompleta: " + v + "\nTotal de Tentativas: " + (j+1) ); System.exit(0); } }else { apresentaPalavra += formaPalavra[i] + " "; } } if(acertou == false){ contaErros++; boneco = "\0"; switch(contaErros) { case 1: boneco = " __ O \n"; boneco += "|\t \n"; boneco += "|\t \n"; boneco += "|\t \n"; break; case 2: boneco = " __ O \n"; boneco += "| | \n"; boneco += "|\n"; boneco += "|\n"; break; case 3: boneco = " __ O \n"; boneco += "| -|-\n"; boneco += "|\n"; boneco += "|\n"; break; case 4: boneco = " __ O \n"; boneco += "| -|-\n"; boneco += "| | \n"; boneco += "|\n"; break; case 5: boneco = " __ O \n"; boneco += "| -|-\n"; boneco += "| | | \n"; boneco += "| \n"; break; } JOptionPane.showMessageDialog(null, boneco + "\nVocê ERROU " + contaErros + " vez(es)"); if(contaErros>= 5) { JOptionPane.showMessageDialog(null, "PERDEU! FIM DO JOGO" ); System.exit(0); } } } } } Alguém poderia me explicar esse programa? Comentar a função de cada linha ou laço etc? Queria entende-lo.
  7. Como faço pra imprimir uma determinada posição de uma matriz? Por exemplo, escrevo um programa onde o usuário preenche uma matriz 5x5 com os números inteiros que desejar. Aí quero imprimir a 1ª, 3ª e última LINHA dela. #include <stdio.h> #include <conio.h> int main() { int matriz[5][5]; int i, j; j=0; puts ("Preencha a matriz com 25 numeros: "); for (i=0; i<5; i++){ while (j<5){ scanf ("%d", &matriz[i][j]); j++; } j=0; } }
  8. #include <stdio.h> #include <conio.h> int main () { int matA[3][3]; int matB[3][3]; int matSoma[3][3]; int matSoma1; int a, b; b=0; // Matriz A usando FOR e DO...WHILE printf ("Preencha a matriz A com 9 numeros inteiros:\n"); for (a=0; a<3; a++){ do { scanf ("%d", &matA[a][b]); b++; } while (b < 3); b=0; } //Fim da Matriz A a=0; b=0; printf ("Preencha a matriz B com 9 numeros inteiros:\n"); // Matriz B usando For e While for (a=0; a<3; a++) { while (b<3){ scanf ("%d", &matB[a][b]); b++; } b=0; } // Fim da Matriz B //Soma das Matrizes usando For e For for (a=0; a<3; a++){ for (b=0; b<3; b++){ matSoma[a][b] = matA[a][b] + matB[a][b]; // Fim da Soma. } } //Exibir matriz somada usando Do....While e While. a=0; b=0; printf ("\nA Soma das matrizes:\n"); printf ("\n"); do { while (b<3) { printf ("\n\tSoma: %d", matSoma[a][b]); b++; } b=0; a++; } while (a<3); } Consegui resolver. Pra quem tiver interesse ^
  9. Então, é que o exercício que tenho que fazer específica que não posso usar outra coisa além de for/do...while. Então não posso usar dois for
  10. Alguém poderia me ensinar a preencher uma matriz 3x3 usando for e do while? Tenho um exercício para fazer que pede isso, mas não estou conseguindo. #include <stdio.h> #include <conio.h> int main () { int matA[3][3]; int matB[3][3]; int matSoma[3][3]; int a, b; b=0; a=0; printf ("NumerosA: "); for (a=0; a<3; a++){ do { scanf ("%d", &matA[a][b]); b++; } while (b < 3); } } Fiz assim, só que ao invés do programa pedir 9 números. ele só pede 5. Só consigo fazer o programa pedir 9 números quando digo que b=-4
  11. @Math.Pi Consegui fazer aqui da maneira que o exercício pedia, está rodando corretamente. Só gostaria de fazer uma pergunta. Por que para imprimir em ordem inversa, eu tenho que dizer que "i = 1" e "j=1" e não = 0? Fiz o programa rodar, mas não entendi a lógica de eu ter que colocar = 1. #include <stdio.h> int main () { int matriz[2][2]; int i, j; i = 0; j = 0; do { do { printf ("Digite um valor inteiro: "); scanf ("%d", &matriz[i][j]); j++; } while (j < 2); j=0; i++; } while (i < 2); i = 1; j = 1; do { do { printf (" %d", matriz[i][j]); j--; } while (j >= 0); j = 1; i--; } while (i >= 0); }
  12. @Math.Pi @Math.Pi Então, é que se eu coloco "Coluna = 2" naquela linha, o programa roda todo torto, aí quando eu altero pra "coluna = 3" ele funciona corretamente. Não sei se escrevi alguma linha errado e dessa forma ele corrige, ou se meu devc tá bugado.
  13. @Math.Pi Agradeço a ajuda! Consegui fazer rodar da maneira correta. Obrigado mesmo. E mais uma pergunta: No caso de eu querer imprimir os valores da matriz invertidos, eu apenas altero o valor das variáveis linha e coluna e o que está dentro dos while? O cód corrigido: #include <stdio.h> int main(){ int matriz[2][2]; int linha, coluna; linha = 0; coluna = 0; do { do { printf ("Valor inteiro: "); scanf ("%d", &matriz[linha][coluna]); coluna++; } while (coluna < 3); linha++; } while (linha < 2); linha = 0; coluna = 0; do { do { printf ("\nValor inteiro: %d ", matriz[linha][coluna]); coluna++; } while (coluna < 3); linha++; } while (linha < 2); }
  14. Tenho que fazer um exercício simples de matriz, onde o usuário digita um número qualquer, armazeno numa matriz e depois a imprimo. Só que eu tenho que fazer usando apenas do while. Meu problema é o seguinte, quando eu vou imprimir a matriz, ele "come" o primeiro número que digitei. Por exemplo, o usuário digitou "40, 50, 60, 70", o programa apenas imprimi "50, 60, 70". Sou iniciante em programação, provavelmente estou fazendo alguma coisa bem besta e não estou percebendo #include <stdio.h> int main(){ int matriz[2][2]; int i, j; i = 0; j = 0; do { printf ("Valor inteiro: "); scanf ("%d", &matriz[i][j]); i++; } while (i<2); do { printf ("Valor inteiro: "); scanf ("%d", &matriz[i][j]); j++; } while (j<2); i = 0; do { printf ("\nValores: %d", matriz[i][j]); i++; } while (i<2); j = 1; do { printf ("\nValores: %d", matriz[i][j]); j++; } while (j<2); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...