Ir ao conteúdo
  • Cadastre-se

Gabriel Pancaldi

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

Reputação

14
  1. Como corrijo isso, gostaria que quando o binario correto fosse achado o j continuasse de onde parou e o i fosse incrementado.
  2. #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <math.h> #define T 10 void bin_oct(char [], char []); int main(){ char b[50], o[50]; printf("Informe um numero binario:"); gets(b); bin_oct(b, o); return 0; } void bin_oct(char *bin, char *oct){ int i, j; for(i = 0; i < strlen(oct); i++){ for(j = 0; j < strlen(bin); j = j + 3){ if(bin[j] == '0' && bin[j + 1] == '0' && bin[j + 2] == '0'){ oct[i] = '0'; } else if(bin[j] == '0' && bin[j + 1] == '0' && bin[j + 2] == '1'){ oct[i] = '1'; } else if(bin[j] == '0' && bin[j + 1] == '1' && bin[j + 2] == '0'){ oct[i] = '2'; } else if(bin[j] == '0' && bin[j + 1] == '1' && bin[j + 2] == '1'){ oct[i] = '3'; } else if(bin[j] == '1' && bin[j + 1] == '0' && bin[j + 2] == '0'){ oct[i] = '4'; } else if(bin[j] == '1' && bin[j + 1] == '0' && bin[j + 2] == '1'){ oct[i] = '5'; } else if(bin[j] == '1' && bin[j + 1] == '1' && bin[j + 2] == '0'){ oct[i] = '6'; } else if(bin[j] == '1' && bin[j + 1] == '1' && bin[j + 2] == '1'){ oct[i] = '7'; } } } printf("%s", oct); } Estou observando que só o ultimo valor é mostrado no printf, o certo seria quando achasse o valor que batesse o for fosse alterado assim, buscando uma novo grupo de 3 e um valor i diferente da string mas n sei como faz isso. Alguma ideia do que fazer?
  3. Valeu, mano. Agora posso fazer as outras conversões, estava com duvida só nessa conversao de valores.
  4. Estou com duvida para converter o numero dentro do vetor char para ele mesmo em int, por que quando faço a conta direto ele é convertido para o numero na versao da tabela ascii.
  5. Estou fazendo um exercício no qual preciso dar a sequencia Fibonacci, eu já entendi a sequencia da mesma, mas eu não consigo pegar o numero anterior resultado para fazer a soma. var n: inteiro //n1 cont: inteiro //contador s: inteiro //n2 f: inteiro //sequencia inicio // Seção de Comandos cont <- 0 f <- 0 s <- 1 REPITA f <- f + s s <-f escreva(f) cont <- cont+1 ATE cont>5 fimalgoritmo Se alguém souber como posso fazer agradeço desde já.
  6. @Simon Viegas Vou tentar corrigir meu código até amanhã e posto aqui, não prometo nada.
  7. Eu entendi agora, vou postar o código corrigido abaixo, está funcionando certinho. var a, b, c: inteiro inicio // Seção de Comandos Escreva("Informe 3 numeros:") leia(a,b,c) SE (a>b) e (b>c) então ESCREVA("ORDEM: ", c, b, a) FIMSE SE (a>b) e (b<c) então ESCREVA("ORDEM: ", b, c, a) FIMSE SE (b>a) e (a>c) então ESCREVA("ORDEM: ", c, a, b) FIMSE SE (b>a) e (a<c) então ESCREVA("ORDEM: ", a, c, b) FIMSE SE (c>a) e (a>b) então ESCREVA("ORDEM: ", b, a, c) FIMSE SE (c>a) e (a<b) então ESCREVA("ORDEM: "), a, b, c) FIMSE fimalgoritmo
  8. No momento acho que vou continuar assim, pois acho que com o senão eu iria ficar confuso no código e no jeito que está funcionou, mas obrigado pela ajuda.
  9. adicionado 7 minutos depois Consegui fazer, era só separar meso por () cada condição e agora é só colocar na ordem crescente
  10. O problema é que eu fiz alguns códigos iguais a este e nao deu problema, vou tentar separar as variaveis adicionado 6 minutos depois Separei variaveis e nada, acho que é o visualg mesmo, porque tem um então na cara dele e ele da a falta do mesmo
  11. Bom dia, estou começando na linguagem de Portugol e meu Visualg está dando um erro um tanto quanto estranho. Escreva("Informe 3 numeros:") leia(a,b,c) SE (a>b e b>c) então ESCREVA("ORDEM: ", a, b, c) FIMSE SE (a>b e b<c) então ESCREVA("ORDEM: ", a, c, b ) FIMSE SE (b>a e a>c) então ESCREVA("ORDEM: ", b, a, c) FIMSE SE (b>a e a<c) então ESCREVA("ORDEM: ", b, c, a) FIMSE SE (c>a e a>b) então ESCREVA("ORDEM: ", c, a, b ) FIMSE SE (c>a e a<b) então ESCREVA("ORDEM: "), c, b, a) FIMSE Quando eu executo o Visualg afirma que esta faltando um então na primeira linha, mas não está, queria saber o porque.

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