Ir ao conteúdo
  • Cadastre-se
Visitante

RESOLVIDO Me ajudem nesse dois exercícios em c++

Recommended Posts

Visitante

Estou com dúvida no exercício 3 q eu nem consegui sair do lugar dessa prática:

 

https://dl.dropboxusercontent.com/u/4297019/Aulas/2014-02/Bcc702/05_pratica.pdf

 

Tentei fazer o somatório com funções, mas n consegui achar uma fórmula para o denominador da série! Da uma olhada no meu código rsrsrsrs

 

#include <iostream>

using namespace std;

float pi(n){
    int soma=0;
    for (int i=0;i<n;i++){
        
    }

}


int main()
{
    cout << "" << endl;
    return 0;
}
 

 

E no exercício 5 ta dando um erro, da uma olhada no meu código:

 

#include <iostream>

using namespace std;

int media(int *m, int *vet,int l,int c){
    int soma;
    for(int i=0;i<l;i++){
        soma=0;
        vet=0;
        for(int j=0;j<c;j++){
            soma+=m[j];
        }
        vet=soma/c;
    }
    return vet;
}

int main()
{
    int m[3][3]={{1,2,3};
                 {4,5,6};
                 {7,8,9}};
    int vet[];

    media(m,vet,3,3);
    cout<<"Matriz"<<"\tMédia"<<endl;
    for (int i=0;i<3;i++){
        for (int j=0;j<3;j++){
            cout<<m[j]<<"\t"<<vet;
        }
        cout<<endl;
    }

    return 0;
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

No exercício 3 o denominador é um conjunto simples de números elevado ao quadrado...

1/(1^2) + 1/(2^2) + 1/(3^2) ...

 

É só fazer:

soma += 1.0 / (x * x);

 

Onde 'soma' e 'x' são float (ou double).

 

No exercício 5 tem erro de sintaxe na declaração das matrizes (tá usando ponto e virgula em vez de vírgula apenas na primeira matriz, e no vetor vet esqueceu o tamanho), erro no tipo de retorno da função (vet não é do tipo int) e nos parametros da função, como são arrays bidimensionais, precisa usar "int m[][3]".

Compartilhar este post


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

    Na questão 3 está dando um valor para pi q n tem nada a ver com o valor d pi! Da uma olhada no meu código ae:

     

    #include <iostream>

    using namespace std;

    float pi(int n){
        float soma=0;
        for (int i=1;i<n;i++){
        soma+=1.0/(i*i);
        }
        return soma;
    }


    int main()
    {
        int n;
        float pizito;
        cout << "Digite a quantidade de parcelas ae: ";
        cin>>n;
        pizito=pi(n);
        cout<<"Valorzin aproximado de pi é: "<<pizito<<endl;

        return 0;
    }
     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Mas esse não é o valor de PI... se você der uma olhada na questão de novo, vai ver que esse somatório apenas faz uma aproximação pra PI^2 / 6, que é mais ou menos 1.64.

    Quando você roda aquela função com uma parcela, ela retorna 1... com duas 1.25... com três 1.36... quanto mais parcelas, mais o valor se aproxima de 1.64.

     

    Além disso, tem um erro aqui:

    for (int i=1;i<n;i++) ---> for (int i=1;i<=n;i++)

    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





    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

    ×