Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Visitante

C++ Fazer este Algorítimo c++

Recommended Posts

Visitante

alguém consegue, tentei mas.....

Crie um algoritmo que retorne a soma dos 50 elementos de um vetor. Apenas o valor da primeira posição do vetor deverá ser lido do teclado, os demais valores será a sequência onde o próximo elemento é o dobro do anterior. Exemplo:  3, 6, 12, 24, 48, 96…

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@TulioMarques    você precisa usar variável de dupla precisão, pois com int ele só vai até 1073741824 depois disso ele repete uma sequencia que não é certa , então use double :

double vetor[50];

poste seu código para podermos ver como está e em que podemos ajudar .

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  •    4
    Visitante

    O algoritmo ja esta somando os 50 elementos, mas ainda falta digitar apenas o 1º numero, e dele apresentar o dobro assim por diante.

     

    int main(int argc, char *argv[]) {
        
        int i=0, soma=0;
        int a[50];
        
        cout << "\nDigite um numero";
        cin >> a;
        
        for (i=0;i<50;i++){
            cin >> a;
            
        }
        for (i=0;i<50;i++){
            soma= soma+ a;
            
        }
        
            
        
        
        cout << "\n\tSoma" << soma;
        
        return 0;
    }

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    agora, TulioMarques disse:

    O algoritmo ja esta somando os 50 elementos, mas ainda falta digitar apenas o 1º numero, e dele apresentar o dobro assim por diante.

     

    int main(int argc, char *argv[]) {
        
        int i=0, soma=0;
        int a[50];
        
        cout << "\nDigite um numero";
        cin >> a;
        
        for (i=0;i<50;i++){
            cin >> a;
            
        }
        for (i=0;i<50;i++){
            soma= soma+ a;
            
        }
        
            
        
        
        cout << "\n\tSoma" << soma;
        
        return 0;
    }

    O que a questão pede é que você crie um vetor com 50 posições e que você leia apenas a posição [0] desse vetor. Para isso, você deverá usar apenas um loop para calcular o próximo número e somar.

     

    No código que você apresentou, você está lendo como um inteiro comum 50 vezes além da primeira. Você deverá ler apenas a[0]. Depois, você pode usar um for para criar cada posição do vetor, mas esse deverá começar com i = 1, já que você já tem a posição 0. Dentro do for você deverá calcular da seguinte maneira:

     

    a[i] = a[i-1]*2;
    //Ou seja, tendo como referência i = 1 e a[0] = 3, o primeiro elemento a ser calculado será
    //o elemento 
    //a[1] = a[1-1]*2;
    //a[1] = a[0]*2;
    //a[1] = 3*2 = 6

     

    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  •    4
    Visitante

    Mesmo assim com este método não consegui realizar, o algorítimo ainda pede mais numeros alem do a[0], e a sequecia com o dobro não tem resposta correta, osso.....

    a = a[i-1]*2;

    //Ou seja, tendo como referência i = 1 e a[0] = 3, o primeiro elemento a ser calculado será

    //o elemento

    //a[1] = a[1-1]*2;

    //a[1] = a[0]*2;

    //a[1] = 3*2 = 6

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @TulioMarques   para conseguir o dobro do número você pode multiplicar o vetor na posição anterior por 2, então seu código ficaria assim :

    #include <iostream>
    using namespace std;
    int main(int argc, char *argv[]) {
        int i=0, soma=0;
        double a[50];
        cout << "\nDigite um numero ";
        cin >> a[0];
        cout<<"Posicao 0 --> "<<a[0]<<endl;
        for (i=1;i<50;i++){
            a[i]=a[i-1]*2;
            cout<<"Posicao "<<i<<" --> "<<a[i]<<endl;
        }
        cout << "\n\tSoma" << soma;
        return 0;
    }

     

    • Curtir 1
    • Obrigado 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Criar uma conta

    Crie uma nova conta em nossa comunidade. É fácil!

    Crie uma nova conta

    Entrar

    Já tem uma conta? Faça o login.

    Entrar agora
    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×