Durub

Moderadores
  • Content Count

    788
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Durub

  • Birthday 05/25/1994

Perfil

  • Gender
    Male

Recent Profile Visitors

4124 profile views
  1. Olá Iago, seja bem vindo. Quais as dúvidas? Seria bom questionamentos mais específicos, se não apenas estariamos fazendo o exercício para você. Um abraço, Durub
  2. Através do cmd, você deve passar os argumentos após chamar o programa: > anagram.exe argumentos aqui Pelo CodeBlocks, você pode passar os argumentos indo na opção: Project > Set programs' arguments... Abraços!
  3. Faltou importar a biblioteca iostream. #include <iostream> Abraços.
  4. Durub

    FAROL EM LINGUAGEM C

    brunoandrad, é verdade, me enganei! Como o rocco falou, o código do farol não está disponível... Abraços.
  5. brunoandrad, ele só começa a contar errado quando estoura o limite que um int consegue armazenar -- converter para char sofreria do mesmo problema. O número 777777777 contém 9 dígitos iguais a 7. O número -812156815 contém 0 dígitos iguais a 7. (com 10 digitos 7) O valor máximo de um inteiro (int) é 2.147.483.647 (daí vem a "restrição" dos 9 dígitos). Experimente trocar int para long long e veja o que acontece: #include <stdio.h> #include <math.h> int main() { long long num, teste_num; /* número a ser testado */ long long ordem_de_magnitude; /* ordem de magnitude do número num */ int i; int quantidade = 0; /* quantidade de dígitos igual a 7 */ printf("Digite um numero: "); scanf("%lld", &num); ordem_de_magnitude = (int) log10(num); teste_num = num; for(i = ordem_de_magnitude; i >= 0; i--) { long long multiplicador = pow(10, i); int digito = teste_num / multiplicador; teste_num -= digito * multiplicador; if (digito == 7) { quantidade++; } } printf("O número %lld contém %d dígitos iguais a 7.\n", num, quantidade); return 0; } Digite um numero: 7777777777777777777 O número 7777777777777777777 contém 19 dígitos iguais a 7. long long consegue contar até 19 dígitos. Abraços!
  6. Aqui está uma forma -- note que o loop vai de "cima para baixo", de forma a ir modificando o número (teste_num), removendo a casa mais significativa a cada passo: 1234 -> vira 234 -> vira 34 -> vira 4. Sempre pega o dígito mais significativo do teste_num atual. #include <stdio.h> #include <math.h> int main() { int num, teste_num; /* número a ser testado */ int ordem_de_magnitude; /* ordem de magnitude do número num */ int i; int quantidade = 0; /* quantidade de dígitos igual a 7 */ printf("Digite um numero: "); scanf("%d", &num); ordem_de_magnitude = (int) log10(num); teste_num = num; for(i = ordem_de_magnitude; i >= 0; i--) { int digito = teste_num / pow(10, i); teste_num -= digito * pow(10, i); if(digito == 7) { quantidade++; } } printf("O número %d contém %d dígitos iguais a 7.\n", num, quantidade); return 0; }Abraços.
  7. Durub

    Numeros de pitagoras

    Minha tentativa: #include <stdio.h> int main() { int cateto1, cateto2, hipotenusa; for(hipotenusa = 1; hipotenusa < 500; hipotenusa++) { for(cateto1 = 1; cateto1 < 500; cateto1++) { for(cateto2 = 1; cateto2 < 500; cateto2++) { int esquerdo = cateto1 * cateto1 + cateto2 * cateto2; int direito = hipotenusa * hipotenusa; if(esquerdo == direito) { printf("São números de pitágoras: %d - %d - %d\n", hipotenusa, cateto1, cateto2); } else if(esquerdo > direito) { /* otimização de performance -- não haverão mais números válidos quando o lado esquerdo é maior que o direito */ break; } } } } return 0; }Abraços!
  8. Durub

    FAROL EM LINGUAGEM C

    O link para o código está na descrição do vídeo no YouTube. Abraços.
  9. Falta passar os índices corretos para o vetor gab. &gab[i] ao invés de apenas &gab e gab[i] ao invés de apenas gab, para acessar o valor na posição i do vetor.Mesma coisa com o vetor alu. Edit: acho que o sistema do fórum comeu o índice, na verdade. Tente postar o código em um bloco de código do fórum. Como assim os resultados estão errados -- o que está acontecendo, exatamente? Abraços.
  10. O jeito mais simples é: abra os dois arquivos, leia caractere por caractere utilizando a função fgetc do primeiro arquivo e escreva-o com a função fputc no segundo arquivo. O jeito mais rápido (em termos de velocidade de execução) é utilizando fread e fwrite. Abraços.
  11. Sobre o Eclipse, não consigo responder. Pela imagem anexada sobre o CodeBlocks, a solução é apertar "Sim". O que ocorre após confirmar que o arquivo deve ser compilado (Do you want to build it now? -> Deseja compilá-lo agora?)? É o seguinte: para rodar um programa, ele deve existir, correto? Não há como rodar algo que não exista. Por enquanto, apenas existe o seu código (Untitled1.c). Não existe o programa equivalente (Untitled1.exe). O CodeBlocks avisa isso: parece que o programa ainda não foi compilado, deseja compilá-lo agora? Ou seja, deseja realizar a "transformação" do seu código em algo executável (Untitled1.c -> Untitled1.exe)? Após a compilação ter sido efetuada com sucesso, é para ser possível rodar o programa pela IDE sem problemas. Abraços.
  12. Com que parte você está se batendo? Já tentou alguma coisa? Abraços.
  13. Veja se a função rewind resolve o seu problema. Abraços.