Ir ao conteúdo
  • Cadastre-se

Me ajudem nesses exercícios d c++


Visitante
Ir à solução Resolvido por Visitante,

Posts recomendados

O primeiro exercício dessa lista:

http://www.iceb.ufop.br/decom/prof/guarda/BCC701/ListaExerc2_Modulo2_2014-1.pdf

Eu não estou conseguindo fazer o laço while do jeito q está no exemplo de execução e o somatório n está correspondendo!

 

Minha solução:

 

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    float n,k,sinal;
    double soma;
    k=50;soma=0;
    cout << "CALCULO DO SOMATORIO" << endl;
    cout <<"DIGITE UM VALOR PARA N (n>0): ";
    cin>>n;
    do{
        cout<<"ERRO: O VALOR DE n DEVE SER > 0"<<endl;
        cout <<"DIGITE UM VALOR PARA N (n>0): ";
        cin>>n;
    }while(n<=0);
    for (int i=0;i<n;i++){
        soma+=((n-i)/pow((k+i),i+1))*sinal;
        sinal*=-1;
    }
    cout<<"\nSOMATORIO COM "<<n<<" PARCELAS: "<<soma<<endl;
    return 0;
}

O exercício 6 dessa mesma lista:

Eu não estou conseguindo colocar os IFs bonitin, porque eu sou acostumado a usar else e elseif e eu n estou conseguindo colocar em c++! Obs.: Pensei usar switch, mas n sei como colocar!

 

Meu código:

 

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    float u;
    for (int x=1;x<=8;x++){
            cout<<x<<"| ";
        for (int y=1;y<=x;y++){
            u=pow(x+y, 3);
            if (x==y){
                u = x*y/(x+y);
            }
            if ((x+y)%2==0) {
              u=x*x+y*y;
            }
        cout<<u<<"\t";
    }
    cout<<"\n"<<endl;
}
}
 

Link para o comentário
Compartilhar em outros sites

 do{        cout<<"ERRO: O VALOR DE n DEVE SER > 0"<<endl;        cout <<"DIGITE UM VALOR PARA N (n>0): ";        cin>>n;    }while(n<=0);

Este acima, é uma outra estrutura WHILE, que sempre, sempre será e executado pelo menos um única vez, por conta do DO.

A Solução é, usar uma versão sem o DO, veja abaixo:

 while(n<=0){        cout<<"ERRO: O VALOR DE n DEVE SER > 0"<<endl;        cout <<"DIGITE UM VALOR PARA N (n>0): ";        cin>>n;    };

Acontece que primeiro a condição (n<=0) será avaliada, para se verdadeira executar o bloco, se falso não.

 

Com relação ao algoritmo soma, você teve uma sacada muito boa:

Contudo, a variável sinal, não foi previamente inicializada.

Outra coisa seria melhor o loop::for começar com i = 1,

isso pouparia outras operações.

soma+=((n-i)/pow((k+i),i+1))*sinal;

Valeu!

Link para o comentário
Compartilhar em outros sites

Mas aqui, já aproveitando, da uma olhada nesse código também, estou tendo problemas no loop while, porque parece q n está aceitando a operação n%2

 

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    float n, soma, sinal;
    sinal=1; soma=0;
    cout << "QUANTIDADE DE PARCELAS (PAR)";
    cin>>n;
    while (n%2==1){
        cout<<"ANTECAO, O NUMERO DE PARCELAS DEVE SER PAR!"<<endl;
        cout<<"QUANTIDADE DE PARCELAS (PAR)!";
        cin>>n;
    }
    for (int i=0;i<n;i++){
        soma+=pow((i+1),n-i)*sinal;
        sinal*=-1;
    }
    cout<<"VALOR DO SOMATORIO: "<<soma<<", COM "<<n<<" PARCELAS"<<endl;
    return 0;
}
 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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