Ir ao conteúdo
  • Cadastre-se

C++ Fazer este Algorítimo c++


Visitante

Posts recomendados

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…

Link para o comentário
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 .

 

Link para o comentário
Compartilhar em outros sites

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;
}

Link para o comentário
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 1
Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

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