Ir ao conteúdo
  • Cadastre-se

Igor Lima Kock

Membro Pleno
  • Posts

    60
  • Cadastrado em

  • Última visita

Tudo que Igor Lima Kock postou

  1. @devair1010 vou tentar ajeitar ele, no mais valeu aí pela ajuda
  2. Olá! Estou com problema nesta questão aqui Considere um “caminho” construído dentro dessa matriz, iniciado no elemento [1][1] e no qual o sucessor de cada elemento é o menor dos seus vizinhos que ainda não faça parte do caminho. O final do caminho ocorre quando for atingido um elemento na “borda” da matriz, ou seja, na primeira ou na última linha ou na primeira ou na última coluna. Escreva um programa que construa uma matriz como essa, 10x10, e mostre na tela o somatório dos valores que formam o caminho. Abaixo estou colocando a matriz que estou utilizando int matriz[10][10] = { 12, 16, 18, 77, 45, 65, 34, 11, 81, 90, 51, 5, 15, 88, 13, 33, 17, 9, 10, 54, 89, 1, 7, 23, 34, 15, 16, 18, 20, 19, 22, 6, 83, 25, 20, 14, 21, 18, 17, 18, 19, 3, 18, 8, 49, 6, 66, 8, 17, 22, 45, 33, 9, 17, 55, 80, 9, 5, 22, 31, 2, 45, 2, 3, 96, 14, 100, 4, 76, 54, 90, 85, 1, 99, 16, 3, 15, 3, 4, 25, 8, 44, 43, 20, 5, 7, 13, 44, 39, 112, 1, 23, 21, 32, 9, 31, 31, 2, 56, 2 }; E abaixo está o código #include<stdio.h> #define tam 10 main(){ int m, i, j, n, r, u=0, t, o, s=0, l, c; int val[100]; int matriz[10][10] = { 12, 16, 18, 77, 45, 65, 34, 11, 81, 90, 51, 5, 15, 88, 13, 33, 17, 9, 10, 54, 89, 1, 7, 23, 34, 15, 16, 18, 20, 19, 22, 6, 83, 25, 20, 14, 21, 18, 17, 18, 19, 3, 18, 8, 49, 6, 66, 8, 17, 22, 45, 33, 9, 17, 55, 80, 9, 5, 22, 31, 2, 45, 2, 3, 96, 14, 100, 4, 76, 54, 90, 85, 1, 99, 16, 3, 15, 3, 4, 25, 8, 44, 43, 20, 5, 7, 13, 44, 39, 112, 1, 23, 21, 32, 9, 31, 31, 2, 56, 2 }; /*printf("Diga os valores da matriz: \n"); for(j=0; j<tam; j++){ for(i=0; i<tam; i++){ scanf("%d", &matriz[i][j]); }}*/ val[0] = matriz[1][1]; /*---------achar o maior valor------------*/ m=0; for(j=0; j<tam; j++){ for(i=0; i<tam; i++){ if(matriz[i][j]>m){m = matriz[i][j];} }} /*----------------------------------------*/ n = 1; r = 1; while((r != 0 && r != 9) || (n != 0 && n != 9)){ val[c]=matriz[n][r]; do{ for(j = n-1; j <= n+1; j++){ for(i = r-1; i <= r+1; i++){ if(matriz[i][j]<m){ m = matriz[i][j]; l = i; c = j; } if(j>=n+1 && i>=r+1){val[1]=m; s=1;} } } }while(s!=1); c++; n = l; r = c; } r=0; for(t=0; t<c+1; t++){ r = r + val[t];} printf("A soma dos numeros encontrados e %d ", r); printf("%d %d %d", val[0], val[1], val[2]); } O problema é que ele compila normal, só que depois quando o programa abre parece que ele dá overflow e encerra o programa, o que tá acontecendo com esse programa?
  3. Olá! Estou com um problema nesta questão "Escreva um programa que inicie com a leitura de um valor inteiro positivo N. A seguir, deve ser lida uma sequência de valores inteiros positivos, interrompida pela leitura de um valor negativo. Ao final, deve ser exibido o maior valor informado na sequência que seja menor do que N." Segue o código: #include <stdio.h> main(){ int n; printf("Digite numeros positivos (Para encerrar digite um numero negativo):\n"); scanf("%d", &n); while(n > 0){ printf("Numero digitado %d\n", n); } } Eu digito um número e fica num loop infinito imprimindo o número digitado. Como eu resolvo isso?
  4. Olá! Estou preso nesta questão aqui: "Escreva um programa que verifique quais números entre 0 e 10000 são capicua tanto em sua notação decimal quanto na notação hexadecimal." Eu já consegui fazer em decimal mas não consigo fazer em hexadecimal. Segue o código. #include <stdio.h> int inverte(int x){ int i=0; do{ i=i*10+(x%10); x=x/10; } while(x>0); return (i); } main(){ int x; printf("Digite um numero: "); scanf("%d",&x); if(inverte(x)==x && x >= 0 && x <= 10000){ printf("O numero %d e capicua!\n", x); } else{ printf("O numero %d nao e capicua!\n", x); } }
  5. Se o admin quiser pode fechar o tópico que já foi resolvido
  6. Foi isso mesmo! Muito Obrigado
  7. Olá! Estou com um problema nesta questão: "Escreva um programa que leia um valor inteiro N. A seguir, o programa deve ler outros 1000 valores inteiros, e mostrar na tela quantos destes valores são maiores, iguais ou menores que N." O problema é que não importa o numero que eu digite sempre vai dar que há 999 maiores do que n, 1000 menores do que n e 1 iguais a n. Segue o código abaixo #include <stdio.h> int main(){ int num=0, num1=0, num2=0, num3=0; printf("Digite um numero: "); scanf("%d", &num); while(num < 1000){ num++; printf("%d\n", num); } num1 = num + 1; num2 = num - 1; num3 = num - (num - 1); printf("\nHa %d maiores que n\n", num1); printf("Ha %d menores que n\n", num2); printf("Ha %d iguais a n\n", num3); } Quem poder ajudar agradeço.
  8. @arfneto eu notei isso depois mas funcionou o método do @Midori
  9. Olá! Estou num problema neste código que representa o jogo pedra, papel e tesoura, porque não importa o que eu coloque, sempre dá que os dados inseridos são inválidos #include <stdio.h> int main(){ int jog1, jog2; printf("Digite a jogada do jogador 1"); printf("\n1 - Papel"); printf("\n2 - Pedra"); printf("\n3 - Tesoura\n"); scanf("%d", &jog1); printf("Digite a jogada do jogador 2"); printf("\n1 - Papel"); printf("\n2 - Pedra"); printf("\n3 - Tesoura\n"); scanf("%d", &jog2); if(jog1 >= 1 && jog1 <= 3 && jog2 >= 1 &&& jog2 <= 3){ if(jog1 != jog2){ if( (jog1 == 1 && jog2 == 3) || (jog1 == 2 && jog2 == 1) || (jog1 == 3 && jog2 == 2) ){ printf("Jogador 1 Venceu!!!!"); } else{ printf("Jogador 2 Venceu!!!!"); } } else{ printf("Empate!!!!!"); } }else{ printf("Dados Invalidos!!!!!!!!!!!!!!!"); } } Se alguém poder me dizer o que está de errado no código eu agradeço.
  10. Olá a todos do grupo! Estou com um pequeno problema num código que eu estou fazendo, ele não faz contas cetas e apresenta problemas quando escolho a opção de divisão #include <stdio.h> int main(){ int num1, num2, conta; char arit; printf("Digite um numero: \n"); scanf("%d", &num1); printf("Digite outro numero: \n"); scanf("%d", &num2); printf("Escolha uma operacao alritmetica (+, -, *, /): \n"); scanf("%s", &arit); if(arit == '+'){ conta = num1 + num2; printf("O resultado da operacao e %d", conta); } if(arit == '-'){ conta = num1 - num2; printf("O resultado da operacao e %d", conta); } if(arit == '*'){ conta = num1 * num2; printf("O resultado da operacao e %d", conta); } if(arit == '/'){ conta = num1 / num2; printf("O resultado da operacao e %d", conta); } }
  11. Fiz deste jeito porém o resultado da conta fica errado #include<stdio.h> main() { int a; float soma, media; printf("Digite cinco numeros inteiros:\n"); scanf ("%d", &a); scanf ("%d", &a); scanf ("%d", &a); soma = a + a + a; scanf ("%d", &a); scanf ("%d", &a); soma = a + a; soma = soma + soma; media = soma / 5.0; printf("Media e %f", media); }
  12. #include<stdio.h> main() { int a; float soma, media; printf("Digite cinco numeros inteiros:\n"); scanf ("%d", &a); scanf ("%d", &a); scanf ("%d", &a); scanf ("%d", &a); scanf ("%d", &a); soma = (a + a + a + a + a); media = soma / 5.0; printf("Media e %f", media); } Fiz como tu disse
  13. Olá a todos do fórum Gostaria de ajuda nesta questão aqui "Escrever um programa para ler cinco valores inteiros e calcular e escrever na tela a sua média, usando no máximo três variáveis." A minha grande dúvida é que como eu vou colocar 5 valores com 3 variáveis? Segue o código abaixo #include<stdio.h> main() { int a, b, c, d, e; float media; printf("Digite cinco numeros inteiros:\n"); scanf ("%d", &a); scanf ("%d", &b); scanf ("%d", &c); scanf ("%d", &d); scanf ("%d", &e); media = (a + b + c + d + e) / 5.0; printf("Media e %f", media); }
  14. Obrigado a todos eu já consegui resolver o problema.

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...