Ir ao conteúdo
  • Cadastre-se

Guga04

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

posts postados por Guga04

  1. Estou tentando aprender como utilizar matrizes e vetores, porém, em um dos meus códigos eu gostaria de solicitar um numero para o usuário e verificar quantas ocorrências há ao percorrer o vetor e após isso informar a linha e a coluna de cada ocorrência, isso se existir logicamente. O primeiro passo eu consegui realizar, porém o segundo está mais complicado, eu tentei mas aparece apenas linha[0] coluna[12] e apenas uma vez, mesmo tendo mais ocorrências. Procurei em muitos e muitos lugares mas não achei uma solução adequada pra esse código, gostaria que alguém pudesse me ajudar, para conseguir avançar um pouco mais nesse assunto. Segue abaixo o código: 

     

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

    int main()
    {
        setlocale(LC_ALL,"Portuguese");
        int m[3][4];
        int m1[3][4];
        int l,c, negt = 0, elem, num = 0, cont;
         printf("Preenchendo a matriz\n\n");
        // PREENCHENDO O VETOR
        for(l = 0;l < 3; l++)
        {
            for(c = 0;c < 4; c++)
            {
                printf("Digite a posição [%d][%d] = ", l ,c);
                scanf("%d",&m[l][c]);
            }
        }
         printf("\n\nExibindo a matriz\n\n");
        // exibindo o vetor
            for(l = 0;l < 3; l++)
        {
            for(c = 0;c < 4 ; c++)
            {
                printf("m[%d][%d]= %d\t", l ,c, m[l][c]);
            }
            printf("\n");
       }
       // somando vetores
       printf("\n\nSomando os elementos das matrizes\n\n");
       int soma = 0;
           for(l = 0;l < 3; l++)
        {
            for(c = 0;c < 4; c++)
            {
                soma = soma + m[l][c];
            }

        }
        printf("\nSoma dos elemento: %d", soma);
        printf("\n\nContar e exibir elementos negativos na matriz\n\n");
        // exibindo o vetor
            for(l = 0;l < 3; l++)
        {
            for(c = 0;c < 4 ; c++)
            {
            if(m[l][c] < 0)
            {
                negt++;
            }
            }
       }
       printf("ELEMENTOS NEGATIVOS = %d", negt);
       printf("\nNumero contido na matriz!!\n\n");
        // exibindo o vetor
        printf("Digite um valor para ser encontrado na matriz: ");
        scanf("%d",&elem);
        for(l = 0;l < 3; l++)
        {
            for(c = 0;c < 4 ; c++)
            {
                if(elem == m[l][c])
                {
                    num = 1;
                    m1[l][c] = m[l][c];
                    cont++;

                }
            }

       }
       if(num == 1)
               {
                   printf("\nnumeros encontrados = %d", num);
                   printf("\nm[%d][%d]=",m1[l][c]);
            }
            else
            {
               printf("Número não encontrado!");
            }
    }
     

     

    • Obrigado 1
  2. Olá galera, estava escrevendo um código de fatoração com um número dado pelo usuário em linguagem C e me deparei com um problema.  Eu gostaria que o código exibisse apenas os números e o resultado da fatoração em apenas uma linha e uma única vez como no exemplo abaixo: 

     

    4! = 4 . 3 . 2 . 1 = 24

     

    Porém, meu código aparece da seguinte forma 

    2046539000_Fatorao.png.7d88f1a275deec83f6fbb058bccee965.png

     

    O código está desta forma:

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

    int main()
    {
    setlocale(LC_ALL,"portuguese");

    int nu1,cont;

    printf("Valor Fatorial");

    printf ("\n\n digite um numero:");
    scanf ("%d",&nu1);

    for (cont = 1; nu1 > 1; nu1 = nu1 - 1)
    {
    cont = cont * nu1;
    printf("\nFatorial calculado: %d", cont);
    }
    return 0; 
    }

     

    O que eu posso fazer para que ele aparece da forma citada?

     

     

     

  3. Gostaria de saber qual o erro neste código onde tento fazer a contagem de números ímpares entre dois algoritmos 

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

    int main()
    {
    setlocale(LC_ALL,"portuguese");

    int nu1, nu2, cont, impar;

    printf("Numeros impar no Intervalo aberto");

    printf ("\n\n digite um numero:");
    scanf ("%d",&nu1);

    printf ("digite um numero: ");
    scanf ("%d",&nu2);

    impar = cont % 2 != 0;

    for (cont = impar ; cont < nu2 ; cont++ )
    {
    printf("\n%2d",cont);
    }
    }

  4. @Lucca RodriguesDesculpe sou novo em programa e formulei errado a pergunta... Como eu uso um nome em decisão switch, como por exemplo, eu coloco:

     

    switch(<variavel>)

    case<valor>: printf("esse nome corresponde a segunda feira")

    Mais ou menos dessa forma, a pergunta correta seria, como eu declaro um nome e após isso uso decisão switch?

    • Curtir 2
  5. Olá amigos, sou muito novo em programação e necessito realizar um programa que leia o INSS com a tabela de cálculo igual a está:

    474642016_Tab_calinss.png.307835af24190d78bf2956ead7b70033.png  

    e a tabela do IR igual a está:

    671839571_Tab_calIR.png.fb9fc27253209e5436abec8418e58c83.png                                             

     

    ao tentar escrever o código, ele ficou dessa forma:

    <>

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

    int main()
    {
        float sal, inss, ir, sal_liq2, sal_liq, aliq, ded;
        printf("insira seu salario por favor: R$ ");
        scanf("%f",&sal);

         
        if(sal <= 1.247,70)
        {
             inss = sal * 0.08;           
        }
        else if (sal >= 1.247,71 && sal <= 2.079,50 )
        {
              inss = sal * 0.09;    
        }
        else if (sal >= 2.079,51 && sal <= 4.159,00 )
        {
            inss = sal * 0.11;       
        }
        else if (sal >= 4.159,01)
        {
            inss = sal - 468,00;        
        }
        else if (sal >= 1.710,78 )
        {
            aliq = 0;    
            ded = 0;
            ir = sal * ir - ded;
        }
        else if (sal >= 1.710,79 && sal <= 2.563,91 )
        {
            aliq = 0.075;
            ded = 128,31;    
            ir = sal * ir - ded;    
        }
        else if (sal >= 2.563,92 && sal <= 3.418,59 )
        {
            aliq = 0.15;
            ded = 320,60;
            ir = sal * ir - ded;
        }
        else if (sal >= 3.418,60 && sal < 4.271,59 )
        {
            aliq = 0.225;
            ded = 577,00;
            ir = sal * ir - ded;
        }
        else if (sal >= 4.271,59 )
        {
            aliq = sal * 0.275;
            ded = 790,58;
            ir = sal * ir - ded;
        }
        
        sal_liq = sal - ir - inss;
        
        printf("Salario: %g\n",sal);
        printf("INSS: %g\n",inss);  
        printf("IR: %g\n", ir);
        printf("Salario Liquido: R$%g\n",sal_liq);

        system("pause");
        return 0;
    }

    De alguma forma ele está calculando apenas o primeiro bloco do de verdade do INSS, fazendo com que o programa calcule apenas um resultado

    60271281_execuo13.png.5f85a55fe921b7d1d4a0a3e50180eb2e.png

     

    Gostaria de saber o que estou fazendo de errado no programa por favor!

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!