Ir ao conteúdo
  • Cadastre-se

MatheusINF

Membro Pleno
  • Posts

    132
  • Cadastrado em

  • Última visita

posts postados por MatheusINF

  1. Desempilhar é remover apenas o último elemento, o algoritmo fica assim: 

    int desempilha(PILHA &pilha){
         if (pilha.nElem == 0)
               cout<<"\nPILHA VAZIA.";
    
        int ch = pilha.a[pilha.nElem -1].chave;
        pilha.nElem--;
        cout<<"\nElemento "<<ch<<" removido com sucesso.";
    }

    Agora se tu quer remover tudo é muito simples:

    void esvaziar(PILHA &pilha){
            pilha.nElem = 0;
            cout<<"\nPilha vazia";
    }

     

  2. Fala galera beleza? 

    Bom estava usando o C++ aqui e sem querer coloquei " /// " , e percebi que ficou roxo , porém é como um comentário, o que é isso? , serve pra comentários mais importantes ou tem uma utilização real?

    Citação
    
    int main(){
    
         // OLÁ MUNDO
    
         /*  OLÁ
              MUNDO
        */
    
        /// OLÁ MUNDO
    }

     

     

    • Curtir 1
  3. Olá pessoal, Boa tarde :)

    Bom eu preciso mostrar quantas a palavra 'de' aparece na frase

     

    int main()
    {
          char frase[25] ;
          int i , cont=0;
    
          printf("Digite uma frase qualquer em letras minusculas: ");
          scanf(" %[^\n]",frase);
    
          for(i=0; i<strlen(frase); i++)
          {
                if ( (frase[i] == 'd') && (frase[i+1] == 'e') ) cont++;
          }
    
          printf("\n\nA palavra 'de' aparece %d vezes na frase.",cont);
    
    }

     

     

    adicionado 6 minutos depois

    Bom galera consegui, porém não sei se ficou muito correto, porém está funcionando 

    int main()
    {
          char frase[100] ;
          int i , cont=0;
    
          printf("Digite uma frase qualquer: ");
          scanf(" %[^\n]",frase);
    
          strlwr(frase);
    
          for(i=0; i<strlen(frase); i++)
          {
                if ( (frase[i] == 'd') && (frase[i+1] == 'e') )
                {
                     if(frase[i+2] == ' ' || frase[i+2] == '\0') cont++;
                }
          }
    
          printf("\n\nA palavra 'de' aparece %d vezes na frase.",cont);
    }

     

    • Curtir 1
  4. Fala galera de boa ?

    Bom eu preciso fazer esse exercício porém estou meio travado:

    02 ) Faça um algoritmo pra calcular e escrever a raiz quadrada de um número positivo Y usando o seguinte roteiro: 

               -  A primeira aproximação para a raiz quadrada de Y é X = Y/2;

               - As sucessivas aproximações serão X = X + Y / 2 . X;

     

         O algoritmo irá ler a quantidade de aproximações e só poderá ser utilizado 3 variáveis.

    
    int main()
    {
           float x , i;
           int y;
    
           printf("Digite um numero inteiro positivo:  ");
           scanf("%d",&y);
    
           printf("\nDigite quantas aproximacoes deseja fazer:  ");
           scanf("%f",&x);
    
           i = x;
    
           printf("\n\nA raiz quadrada de %d :  ",y);
    
           for(i; i>0; i--)
           {
                if(i==x) x = y/2.0;
    
                i--;
    
                x = (x + y ) / ( 2.0*x);
           } // FIM FOR
    
           printf("%d",x);
    
    } // FIM MAIN

    Bom eu cheguei até aqui, porém não tenho ideia de como continuar :/

    • Curtir 1
  5. Fala galera, eu preciso fazer o seguinte exercício :

     5) Desenvolva um programa que contenha uma sub-rotina que receba um valor inteiro e positivo N e retorne o valor de S, obtido pelo seguinte cálculo: 
     
     S = 1 + 1/1! + 1/2! + 1/3! + … + 1/N!

     

    Bom, eu acho que eu fiz porém o resultado é sempre 0.00000 , alguém sabe me dizer o que está errado?

    int sub(int n)
    {
           int fat = 0;
           float s = 0;
    
           for(fat=1 ; n>1; n= n - 1)
           {
                  fat = fat * n;
                  s = s + 1/fat;
           }
    
           printf("\n\nO resultado = %f\n\n",s);
    
    }
    
    int main()
    {
          int num;
    
          printf("Digite um valor inteiro:  ");
          scanf("%d",&num);
    
          sub(num);
    }
    
    
    

     

    adicionado 42 minutos depois

    Bom , consegui fazer aparecer alguma coisa, porém ele ignora o 1 / 1! , e acima do 1/ 2! ele não inclui a soma também : /

    
    float sub(int n)
    {
           float s = 0 ;
           int fat =0;
    
           for(fat=1 ; n>1;  n--)
           {
                  fat = fat * n;
                  s = s + 1.0/fat;
           }
    
           printf("\n\nO resultado = %f\n\n",s+1.0);
    
    }
    
    int main()
    {
          int num;
    
          printf("Digite um valor inteiro:  ");
          scanf("%d",&num);
    
          sub(num);
    }
    
    

     

    • Curtir 1
    • Obrigado 1
  6. Bom galera não sei se é o local certo, mas eu estou tendo "arq. e org. de computadores" na faculdade  e o professor está ensinado programar em Assembly , vocês que já trabalham com isso ou já tem mais conhecimento, acham como eu que é só pra preencher a grade ou realmente isso é útil? , bom eu sinceramente não me vejo programando em Assembly , mas fica ae minha dúvida ;)

  7. Fala galera tudo bom?

    Bom, eu estava dando uma pesquisada e reparei que o uso do "gets()" não é muito recomendado e eu encontrei isso "%[^\n]s" , pra meio que substituir, porém eu não sei se estou utilizando de maneira incorreta pois meu algoritmo não funciona utilizando isso, alguém sabe porque?

     

    
    int main()
    {
           char nomes[5] [10];
           int i,op;
    
           for(i=0; i<5; i++)
           {
                printf("Digite o %d nome: ",i+1);
                scanf("%[^\n]s", &nomes[i] );
           }
    
           printf("\n\nDigite um numero entre 1-5: ");
           scanf("%d",&op);
    
    
           printf("\n\nO valor %d se refere ao seguinte nome: %s",op,nomes[op-1]);
    
    }

    ** Eu estou usando as seguintes bibliotecas:

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

     

    • Curtir 1
  8.  

    -std=gnu++11

     

    adicionado 11 minutos depois
    35 minutos atrás, isrnick disse:

    O compilador deve estar configurado para usar uma versão padrão da linguagem C++, como C++11

    Realmente está configurado pra ler C++11, vou tentar muda mnw, Vlwws

     

    • Curtir 1
  9. Fala galera beleza?

    Bom comecei na facul Estrutura de dados e o professor usar C++, como eu utilizava o C estou com algumas dificuldades, como nesse algoritmo

    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    
    void Bubble(int v[],int n)
    {
          int i,j,guarda,trocou,k=n;
    
          while(1){
               trocou = 0;
               cout <<"\nRepete: "<<n-k+1<<": ";
               for(i=0; i<k-1; i++){
                   if(v[i] > v[i+1])
                   {
                      trocou =1;
                      guarda = v[i];
                      v[i] = v[i+1];
                      v[i+1] = guarda;
    
                   } // FIM IF
                } // FIM FOR
                   for(i=0; i<k; i++)
                      cout<<" "<<v[i];
    
                   k--;
                   if(!(trocou))
                      return ;
            } // FIM WHILE
    }// FIM BUBBLE
    
    int main()
    {
         int i, n;
    
         cout<<"Digite quantos valores tem o vetor: ";
         cin  >> n;
    
         int v[n];
    
    
         for(i=0;  i<n; i++)
         {
               cout<<"Entre com o valor para V["<< i <<"]:  ";
               cin>> v[i];
         } // FIM FOR
    
         cout<<"Vetor desordenado: ";
         for(i=0; i<n; i++)
              cout<<" "<<v[i];
    
         cout<<"\n";
    
         Bubble(v,n);
    
         cout <<"\nVetor ordenado: \n";
    
         for(i=0; i<n; i++)
              cout<<" "<<v[i];
    
        cout<<endl;
    } // FIM MAIN
    

    Quando eu executo ele da um Erro "ISO C++ forbids variable length array 'v' [-Wvla]", eu não sei o motivo, se alguem souber pode me ajudar ?

  10. Fala galera beleza?

    Estou fazendo uma revisão por vídeo aulas de algoritmo e me deparei com o seguinte algoritmo pra calcular o quadrado dos números:

    void interface()
    {
           printf("\nDIGITE 0 PARA SAIR\n");
           printf("OU INFORME UM NUMERO INTEIRO PARA CALCULAR O QUADRADO: ");
    }
    
    int    leitura()
    {
            int num;
    
            scanf("%d",&num);
    
            return num;
    }
    
    void quadrado(int numero)
    {
            printf("O numero ao quadrado: %d\n",numero*numero);
    
    }
    
    int main()
    {
              int valor;
    
    
              for(interface(); valor=leitura(); interface())
              {
                       quadrado(valor);
              }
    
    
    return 0;
    }

    Eu gostaria de saber o motivo dele sair  quando a  pessoa digitar 0 ?

  11. Vou postar imagens do imgur, bom estou simulando é da materia de Circuitos digitais por enquanto fiz assim (Estou fazendo o rélogio todo, porém se conseguir mudar os segundos pra bcd o resto eu consigo provavelmente kkkkkkkkk)

    Com o display bcd utilizando o 4511 ficou assim (Mudei só um algorismo pra testar): https://imgur.com/QZpQlO6

     

    ** COMO NUNCA USEI ESSE BCD DE 7 SEGMENTOS NÃO SEI MUITO BEM USAR ELE**

     

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!