Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bloodshed

Exercícios

Recommended Posts

Pessoal, sou novo em C++, to cursando o 1º período de eng. mecanica ainda e o professor passou os seguintes problemas:

 

1) Receber N>0 e calcular o fatorial de N

2) Receber 20 pares de pontos (x,y) e mostrar a distância de cada ponto ao eixo y

3) Calcular e escrever o valor da raiz de S | S=1+3/2+5/3+7/4+...+99/50

4) escrever o código que receba 3 nº positivos e mostre o MMC

5) Pesquisar, explicar e exemplificar:

a. Algorítmo "Força Bruta" ou "Tentativa e Erro"

b. Algorítmo "Guloso"

 

OBS.: Não quero que façam pra mim pois quero aprender, quero q me ajudem dizendo onde posso achar material ou me dando dicas de como fazer.

 

Vlw http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ora, são todas funcões fáceis que você já viu antes no colegial:1) N! = 1 * ... * (N-1) * (N) Você só tem que receber o n, guardar numa variável e usar um laço for pra fazer as multiplicações2) d(x,y) = sqrt( (x*x + y*y) ) é só fazer isso pra cada um dos 20 pontos (dica, armazene-os numa matriz)3) leia um valor S e use a formula mostrada pra achar a sua raiz. (no caso acho que a fórmula está errada, mas não lembro a forma correta)4) Existem vários algoritmos na net de como achar o MMC. Você pode se lembrar de como faz e fazer (na unha) usando laços for e o operador de módulo ( %, que significa resto da divisão) de C++ ( 4%2 == 0 )5) Aí é só procura no google. Divirta-se.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw Homero, mas to precisando saber as linhas de comando q tenho q colocar no Dev-Cpp tendeu ?? o raciocinio eu já tinha achado...

 

Para MMC, está dando erro:

int main()

{

int x,y,z,m,p=0;

do

{

cout<<"\nDigite 3 valores: ";

cin>>x>>y>>z;

p++;

x*p=m;

} while (y%m==0 && z%m==0);

return 0

}

 

Como faço para que o computador guarde 3 números declarados de forma crescente em X, Y, Z...

 

Exemplo:

 

se digitarmos nessa ordem: 5 20 3 (o PC tem q ler X=3, Y=5, Z=20)

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra coisa...

a estrutura do programa está errada... Dessa forma você vai ler repetidamente os 3 números. Faça da seguinte forma:

//Nâo precisa do do while aquicout << "Digite 3 numeros inteiros separados por espacos: ";cin >> x >> y >> z;// Ordene  de forma que x tenha o menor, y o medio e z o maior// Calcule o mmc - Aqui sim você pode usar o do-while

Compartilhar este post


Link para o post
Compartilhar em outros sites

3) Calcular e escrever o valor da raiz de S | S=1+3/2+5/3+7/4+...+99/50

como você pode perceber os numeradores do somatorio de S vao crescendo de 2 em dois :

1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50

 

e os denominadores vao sendo incrementados de 1 em 1 ... ^_^

 

entao, a solução pode ser a seguinte:

 

dentro de um laço for uma variavel (numerador) vai incrementando de 2 em 2 e outra (denominador)de 1 em 1 :

veja o exemplo :

S=0;for(int i=1,j=1;i<100;i+2,j++)   S = S + i/j;
veja que no laço for eu inicializei duas variaveis em 1. A variavel i vai ser meu numerador que incrementa de 2 em 2, e a j vai ser o meu denominador que vai d 1 em 1..

e S vai recebendo a soma das frações...

 

pronto... mais simples q lamber o cotovelo... :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.