Ir ao conteúdo
  • Cadastre-se

Shiftz

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por Shiftz

  1. 9 horas atrás, devair1010 disse:

    @Shiftz     para imprimir apenas as entradas que foram pedidas seria melhor usar um vetor de char com as 26 posições correspondente as 26 letras ,  assim usando um laço de repetição indo de zero até a quantidade de entradas pedidas para imprimir as entradas ,  então seu código pode ser assim  :

    
    #include <stdio.h>
    #include <math.h>
    #include <iso646.h>
    #include <stdlib.h>
    int main(void){
        int entrada;
        char vet[26];
        int qnt,j; /*// quantidade de variáveis*/
        printf("Digite a quantidade de entrada para sua tabela\n");
        scanf ("%d", &qnt);
        printf ("%d\n" , qnt);
        printf("  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\n");
        /*//                          2^n - quantidade de linhas da tabela*/
        for(entrada = 0; entrada < (pow(2,qnt)); entrada++) {
            vet[0 ] = (entrada & 1       )?1:0;      /*   // x ? a:b <=> if(x) a; else b;*/
            vet[1 ] = (entrada & 2       )?1:0;      /*   // inline if*/
            vet[2 ] = (entrada & 4       )?1:0;
            vet[3 ] = (entrada & 8       )?1:0;
            vet[4 ] = (entrada & 16      )?1:0;
            vet[5 ] = (entrada & 32      )?1:0;
            vet[6 ] = (entrada & 64      )?1:0;
            vet[7 ] = (entrada & 128     )?1:0;
            vet[8 ] = (entrada & 256     )?1:0;
            vet[9 ] = (entrada & 512     )?1:0;
            vet[10] = (entrada & 1024    )?1:0;
            vet[11] = (entrada & 2048    )?1:0;
            vet[12] = (entrada & 4096    )?1:0;
            vet[13] = (entrada & 8192    )?1:0;
            vet[14] = (entrada & 16384   )?1:0;
            vet[15] = (entrada & 32768   )?1:0;
            vet[16] = (entrada & 65536   )?1:0;
            vet[17] = (entrada & 131072  )?1:0;
            vet[18] = (entrada & 262144  )?1:0;
            vet[19] = (entrada & 524288  )?1:0;
            vet[20] = (entrada & 1048576 )?1:0;
            vet[21] = (entrada & 2097152 )?1:0;
            vet[22] = (entrada & 4194304 )?1:0;
            vet[23] = (entrada & 8388608 )?1:0;
            vet[24] = (entrada & 16777216)?1:0;
            vet[25] = (entrada & 33554432)?1:0;
            printf("  ");
            for(j=0;j<qnt;j++){
                printf("%d ",vet[j]);
            }
            printf("\n");
        }
        getchar();
        return 0;
    }

     

    Era isso mesmo que eu queria, muito obrigado, aproveitando a oportunidade de me aproveitar um pouco hehe teria como fazer o printf imprimir apenas as letras que vão ser usadas, ex: eu peço 3 entradas ele vai imprimir as letras A B C e fazer a tabela, estou aprendendo ainda c++ desculpe a burrice x.x

    • Obrigado 1
  2. Boa tarde, estou precisando de uma ajuda para criar uma tabela verdade, preciso que o usuario digite quantas entradas serão usadas e então será imprimido as entradas e será feito a tabela até as entradas estarem com todos valores em 1, EX: A B 

                                                   0  0 

                                                   1  0
                                                   0  1 

                                                   1  1

    eu tenho a tabela assim no momento, porém só consegui fazer criando todas as entradas e quando imprimo ele aparece todas mesmo que não sejam utilizadas.

     

     


    #include <stdio.h>
    #include <stdlib.h>

    int main(void) {
      int entrada;
      char A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z;    // variáveis de entrada
      int qnt; // quantidade de variáveis
      printf("Digite a quantidade de entrada para sua tabela\n");
      scanf ("%d", &qnt);
      printf ("%d\n" , qnt);


       printf("  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\n");

      //                          2^n - quantidade de linhas da tabela
      for(entrada = 0; entrada < (pow(2, qnt)); entrada++) {

          A = (entrada & 1)?1:0;         // x ? a:b <=> if(x) a; else b;
          B = (entrada & 2)?1:0;         // inline if
          C = (entrada & 4)?1:0;
          D = (entrada & 8)?1:0;
          E = (entrada & 16)?1:0;
          F = (entrada & 32)?1:0;
          G = (entrada & 64)?1:0;
          H = (entrada & 128)?1:0;
          I = (entrada & 256)?1:0;
          J = (entrada & 512)?1:0;
          K = (entrada & 1024)?1:0;
          L = (entrada & 2048)?1:0;
          M = (entrada & 4096)?1:0;
          N = (entrada & 8192)?1:0;
          O = (entrada & 16384)?1:0;
          P = (entrada & 32768)?1:0;
          Q = (entrada & 65536)?1:0;
          R = (entrada & 131072)?1:0;
          S = (entrada & 262144)?1:0;
          T = (entrada & 524288)?1:0;
          U = (entrada & 1048576)?1:0;
          V = (entrada & 2097152)?1:0;
          W = (entrada & 4194304)?1:0;
          X = (entrada & 8388608)?1:0;
          Y = (entrada & 16777216)?1:0;
          Z = (entrada & 33554432)?1:0;


          printf("  %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z);  
          }

      getchar();
      return 0;
    }

     

     

    Só posso utilizar as bibliotecas <stdio.h> <stdlib.h> <math.h> <iso646.h> para criar a tabela

    • Amei 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!