Bloodshed 0 Denunciar post Postado Março 7, 2006 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
Homero C. de Almeida 0 Denunciar post Postado Março 8, 2006 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
Bloodshed 0 Denunciar post Postado Março 8, 2006 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
Homero C. de Almeida 0 Denunciar post Postado Março 8, 2006 ele não vai ler dessa forma, você é quem vai ter que organizar os numeros para que fiquem nessa ordem. Compartilhar este post Link para o post Compartilhar em outros sites
Homero C. de Almeida 0 Denunciar post Postado Março 8, 2006 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
ricci ottadnot 4 Denunciar post Postado Março 9, 2006 3) Calcular e escrever o valor da raiz de S | S=1+3/2+5/3+7/4+...+99/50como 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