Ir ao conteúdo
  • Cadastre-se

Arthur Rodrigues Passos

Membro Pleno
  • Posts

    22
  • Cadastrado em

  • Última visita

posts postados por Arthur Rodrigues Passos

  1. @devair1010 opa, não consegui entender muito bem

    adicionado 53 minutos depois

    avancei até aqui, mas ainda tem alguma coisa que não está indo

     

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdlib.h>
    
    int calcular_leds(int digito)
    {
        int leds = 0,i, quantidade[10] = {6,2,5,5,4,5,6,3,7,6};
    
    
        for(i=0;i<10;i++)
        {
            if(digito == i)
            {
                leds = quantidade[i];
            }
        }
    
        return leds;
    }
    
    int main() {
        int casos = 0, i, j, tamanho = 0, soma=0, v=0, aux=0, tamanho_max;
    
        char numero[100];
    
        scanf("%d", &casos);
        if(casos<1 || casos >1000)
        {
            return 0;
        }
    
        for(i=0;i<casos;i++)
        {
            scanf("%s", numero);
            tamanho = strlen(numero);
            v= atol(numero);
    
            j=0;
            aux = v;
            while(j<tamanho)
            {
                soma+=calcular_leds(aux%10);
                aux = aux/10;
                j++;
            }
            printf("%d leds\n", soma);
            soma=0;
        }
    
    	return 0;
    }

     

    • Obrigado 1
  2. Fala ae, to precisando de transformar este código java abaixo em C, porém até onde eu fui está dando um looping infinito. O java está funcionando.

     

    Segue o código java:

    import java.io.*;
    import java.util.*;
    
    public class HuxleyCode {
      public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            int N, i, k, tamanho, soma;
            N = input.nextInt();
            String palavra;
            i = 0;
            while(i < N){
                palavra = input.next();
                i++;
                tamanho = palavra.length();
                k = 0;
                soma = 0;
                while(k < tamanho){
                    
    		char c = palavra.charAt(k);
    		int z = Character.getNumericValue(c);
    		if (z == 1) {
    			soma = soma + 2;
    		}
    		else if ((z == 2) | (z == 3) | (z == 5)) {
    			soma = soma + 5;
    		}
    		else if (z == 4) {
    			soma = soma + 4;
    		}
    		else if ((z == 6) | (z == 9) | (z == 0)) {
    			soma = soma + 6;
    		}
    		else if (z == 7) {
    			soma = soma + 3;
    		}
    		else if (z == 8) {
    			soma = soma + 7;
    		}
                    k++;
                }
                System.out.println(soma + " leds");
            }
        }
    }

    Código em C até agora 

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdlib.h>
    
    int main() {
    int led[10]={6, 2, 5, 5, 4, 5, 6, 3, 7, 6}, qtd, n, i, v, aux;
    scanf("%d", &n);
    while ((n <= 1) || (n >= 1000)) {
    scanf("%d", &n);
    }
    for (i=0; i<n; i++) {
    scanf("%d", &v);
    while ((v <= 1) || (v >= 10^1000)) {
    printf("\n");
    scanf("%d", &v);
    }
    aux = v;
    qtd = 0;
    while (aux > 0) {
    qtd += led[aux % 10];
    aux /= 10;
    }
    printf("%d leds\n", qtd);
    }
    return 0;
    }

    O que se pede:

    image.thumb.png.ee0e968b7a1e97e589feb8672b6af2e5.png

    • Obrigado 1
  3. Opa, cheguei até aqui, mas ainda não estou obtendo a resposta de acordo com os site

    //raiz digital
    #include <stdio.h>
    #include <stdlib.h>
    int somaDigitos (int digitos)
    {
        int resto, valor, i, resultado, soma = 0;
    
        resultado = digitos;
    
        while (resultado != 0)
        {
              resto = resultado % 10;
              resultado = resultado / 10;
    
              soma = soma + resto;
        }
    
        return soma;
    }
    
    main()
    {
    
          int numero, res, linhas, i;
    
          scanf("%d", &linhas);
          for (i=0; i<linhas; i++){
          scanf("%d", &numero);
          res = somaDigitos (numero);
          printf("%d\n", res);
    
          }
    
          return 0;
          }
    

     

  4. Guys, to morrendo nessa aqui, tenho que fazer a raiz digital, que consiste basicamente em somar os digitos de um numero inteiro, exemplo 2015 = 2+0+1+5 == 8.

    Certo, até essa parte eu consegui realizar o codigo, porém não to conseguindo incluir nos termos do the huxley, podem ajudar?

     

    Problema:

    image.thumb.png.027ac1a211570361ac9237dbc967c25c.png

    Código:

    #include <stdio.h>
    
    int main()
    {
    	int n, total = 0;
    
    	scanf("%d", &n);
    
    	if (n < 0)
    		n *= -1;
    
    	while (n)
    	{
    		total += n%10;
    
    		n /= 10;
    	}
    
    	printf("%d\n", total);
    
    	return (0);
    }

     

    adicionado 3 minutos depois

    melhorei um pouco

    #include <stdio.h>
    #include <stdlib.h>
    
    
    
    
    int somaDigitos (int digitos)
    {
        int resto, valor, i, resultado, soma = 0;
    
        resultado = digitos;
    
        while (resultado != 0)
        {
              resto = resultado % 10;
              resultado = resultado / 10;
    
              soma = soma + resto;
        }
    
        return soma;
    }
    
    main()
    {
    
          int numero, res;
    
    
          printf("\nDigite o numero:\n");
          scanf("%d", &numero);
    
    
          res = somaDigitos (numero);
    
    
          printf("\n*** Soma dos digitos do numero: %d. *** \n", res);
    
          printf("\n\n");
    
    
          system ("pause");
    }

     

  5. Boa tarde, estou tentando fazer o problema abaixo, já fiz a função solicitada, mas não to sabendo fazer ela refletir dentro do código em si, podem ajudar?

     

    image.png.09553f133557a7b4b833bcf3458daecf.png

     

    Programa até agora:

    //Pesquisa de intenção de voto
    
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdlib.h>
    
    float vantagem(float candidato[], float concorrente[], int n){
    
        int pos, TAM;
        float vantagem, maior_vantagem = -1;
        for (pos = 0; pos < TAM; pos++)
            {
                vantagem = candidato[pos] - concorrente[pos];
        if (vantagem > 0 && vantagem > maior_vantagem)
            maior_vantagem = vantagem;
        }
        if (maior_vantagem != -1)
            return maior_vantagem;
    }
    
    int main()
    {
    int quantPesquisas;
    
    scanf("%d", quantPesquisas);
    printf("%f", vantagem);
    
    
        return 0;
    }

     

  6. Boa tarde como eu faço para que meu programa satisfaça duas condições ao mesmo tempo.

     

    Exemplo desse que estou tentando fazer agora.

     

    Dado um número inteiro 10<=n<=100, faça um programa que imprima SIM caso ele satisfaça as propriedades abaixo ou NAO, caso contrário:

     

    condição 1 - Não termina em zero;

    condição 2 - Se o dígito da direita for removido, o número restante é divisor do número original.

     

    Meu programa ta assim.

     

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdlib.h>
    
    int main()
    {
        int n;
    
        for (n=0; 10<=n<=100; n++)
        scanf("%d", n);
    
        if (n != 0){
    
        printf("SIM\n");
        }
        else {
            printf("NAO\n");
        }
        return 0;
    }

     

    • Curtir 1
  7. Galera, não estou conseguindo encaixar esse código para que fique compatível com o site do exercicio.

    Alguém pode me ajudar?

     

    Segue site https://www.thehuxley.com/problem/75/code-editor/?locale=pt_BR

     

    Código feito até agora:

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdlib.h>
    #include <conio.h>
    int main()
    {
      int voo[37][10];
      int num_voo, i, j, nunca, lugvazios[37][10];
      char doc[11];
      for (i=0;i<37;i++)
      {
        for(j=0;j<10;j++)
        {
            voo[i][j] = 0;
        }
      }
      do {
           printf("Digite o numero do voo(0-36) que quer comprar a passagem: ");
           scanf("%d",&num_voo);
           printf("\nLugares disponiveis do voo %d\n\n",num_voo);
        for (i=0;i<10;i++)
        {
           if(voo[num_voo][i] == 0 )
           {
            lugvazios[num_voo][i] = i;
            printf("%d  ",lugvazios[num_voo][i]);
           }
        }
            printf("\n\nDigite o numero da poltrona: ");
            scanf("%d",&nunca);
    
            printf("Digite o numero da identidade: ");
    
            scanf("%c",&doc);
    
            voo[num_voo][nunca] = 1;
    
            printf("\n\nCadeira %d comprada com sucesso!!!",nunca);
            printf("\nVoo %d",num_voo);
            printf("\nComprador = %s",doc);
            printf("\n\n\n");
    
      } while(doc != 9999);
      getch();
    }

     

    • Curtir 1
  8. Valeu mano, fiz só essa pequena modificação no resultado.

     

    #include<stdio.h>
    int main(){
        int s,seg,pri;
        double div, res=0;/* incializar variável */
        scanf("%i", &s);
        for(pri=1; pri<=s; pri++){
            seg=pri*3;
            div=(double)pri/(double)seg;/* converte int para o tipo double */
            res+=div;
            printf("%i/%i",pri,seg);
            if(pri<s)
            printf(" + ");
        }
        printf("\n%.2lf",res);
    }

     

    • Obrigado 1
  9. Boa tarde galera,

     

    Estou com uma duvida num problema do the huxley: https://www.thehuxley.com/problem/1089?locale=pt_BR

    ""

    Escreva um programa que calcule os N termos da série S  abaixo:

     S = (1/3) + (2/6) + (3/9) + (4/12) + …

    O seu programa deve imprimir na saída padrão tanto os termos da série quanto o valor da soma com precisão de 2 casas decimais.

    exemplo:

    entrada: 8 

    saída: 

    1/3 + 2/6 + 3/9 + 4/12 + 5/15 + 6/18 + 7/21 + 8/24

    2.67

    ""

    fiz assim: 

    #include<stdio.h>
    
       main(){
    
    
        int s,seg,pri;
        double div, res;
        scanf("%i", &s);
        for(pri=1; pri<=s; pri++){
    
        seg=pri*3;
        div=pri/seg;
        res+=div;
    
        printf("%i/%i",pri,seg);
        if(pri<s)
        printf(" + ");
    
    }
        printf("%5.2lf", res);
    
    
    }

     

    consigo imprimir os termos certinho só que o resultado só sai um monte de zero . se alguém puder de dá uma ajuda eu agradeço muito. 

    • Curtir 1
  10. Boa tarde galera,

     

    Estou com uma duvida num problema do the huxley: https://www.thehuxley.com/problem/1089?locale=pt_BR

    ""

    Escreva um programa que calcule os N termos da série S  abaixo:

     S = (1/3) + (2/6) + (3/9) + (4/12) + …

    O seu programa deve imprimir na saída padrão tanto os termos da série quanto o valor da soma com precisão de 2 casas decimais.

    exemplo:

    entrada: 8 

    saída: 

    1/3 + 2/6 + 3/9 + 4/12 + 5/15 + 6/18 + 7/21 + 8/24

    2.67

    ""

    fiz assim: 

    #include<stdio.h>
    
       main(){
    
    
        int s,seg,pri;
        double div, res;
        scanf("%i", &s);
        for(pri=1; pri<=s; pri++){
    
        seg=pri*3;
        div=pri/seg;
        res+=div;
    
        printf("%i/%i",pri,seg);
        if(pri<s)
        printf(" + ");
    
    }
        printf("%5.2lf", res);
    
    
    }

     

    consigo imprimir os termos certinho só que o resultado só sai um monte de zero . se alguém puder de dá uma ajuda eu agradeço muito. 

  11. Opa galera, comecei a me aventurar em banco de dados, iniciante e estou agarrado nesse schema abaixo, poderiam me ajudar?

     

    O solicitado é o schema e o script do projeto abaixo:

    image.png.e42ca58829660edbc15a37469053e65f.png

    O que fiz até agr, mas parece ta sem nexo:

    Esse site gera o script após criação do schema.

    image.thumb.png.e38f0c9bc1c00f56b7e51eb9f21cfab9.png

     

    image.png

  12. Boa tarde galera, mais uma vez pedindo ajuda num exercício agarrado do the huxley. Bom este no caso eu tenho que incluir dois anos, exemplo, 2000 e 2010, e tenho que verificar a apresentar quais anos entre estes são bissextos.

    A parte da verificação de cada ano em particular eu já conseguir desenvolver, meu problema mesmo está sendo em conseguir incluir dois anos  e fazer verificar entre estes.

    Abaixo vou deixar meu código que está funcionando para verificar cada ano em especifico e a parte que não estou conseguindo no the huxley.

    Já agradeço!

    #include <stdio.h>
    #include <locale.h>
    
    int main(void){
    setlocale(LC_ALL,"Portuguese");
    int ano;
    
    int verifica(int ano);
    
    printf("Digite um ano: "); scanf("%d",&ano);
    
    if (verifica(ano) == 1)
    printf("%d, ano bissexto!",ano);
    else
    printf("%d, não é ano bissexto!",ano);
    return 0;
    }
    
    int verifica(int x){
    if(x%400==0 || x%4==0 && x%100!=0)
    return 1;
    else
    return 0;
    }

    https://www.thehuxley.com/problem/297?locale=pt_BR

    image.thumb.png.94206e9759921421e85714d105f56611.png

    • Obrigado 1
  13. opa galera, sou iniciante em programação, e estou tentando resolver umas questões no the huxley.

     

    Travei nessa onde só consegui gerar os números, mas já na hora de pegar os maiores não da certo, podem ajudar?

     

     

    http://thehuxley.com/problem/868?locale=pt_BR

    image.thumb.png.9da040e6d65bc2f39581cf00af07cdc6.png

     

    meu código até agora está assim:

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    int main(void)
    {
      int i , N=0, D;
      float maior1=0, maior2=0, maior3=0, maior4=0, maior5=0;
    
    
    /* gerando valores aleatórios*/
        for (i = 0; i < 10; i++)
      {
        printf("%d ", rand() % 100);
    
      }
         if(N > maior1){
                if(maior1> maior2){
                    maior2=maior1;
                }
                maior1=N;
            }
            if(maior1>=maior2 && N != maior1){
                if(N > maior2){
                    maior2=N;
                }
            }
    
    
    
       printf("\n%.0f\n", maior1);
         printf("\n%.0f\n", maior2);
    
    
    
      return 0;
    }

     

    • Obrigado 1

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!