Ir ao conteúdo

Questao de C++


Messier

Posts recomendados

Postado

Escreva uma função em C++ que recebe como parâmetros:

*um valor inteiro LIM_ESQ

*um valor inteiro LIM_DIR

*um valor inteiro FATOR

e que retorna, a quantidade de múltiplos exatos de FATOR que existem entre o LIM_ESQ e o LIM_DIR e que não são quadrado de nenhum numero inteiro. Caso FATOR seja negativo ou zero, devera ser retornado o numero zero. Caso LIM_ESQ seja maior que LIM_DIR, também deve ser retornado o numero zero.

Comecei a fazer a função, mas chegou uma parte que parei, se alguém puder ajudar

int quantos_multiplos_entre (int LIM_ESQ, int LIM_DIR, int FATOR)
{
int qtd;
int numero;
int q;

cout << "Digite um valor inteiro: ";
cin >> LIM_ESQ;
cout << "Digite um valor maior inteiro: ";
cin >> LIM_DIR;
cout << "Digite um numero que sera o fator: ";
cin >> FATOR;

//Calculo do multiplo aqui acho

if(FATOR == 0 || FATOR < 0)
{return 0;}
if(LIM_ESQ > LIM_DIR)
{return 0;}
if (sqrt(numero)*sqrt(numero)!=numero)
{return 0;}

q = quantos_multiplos_entre (LIM_ESQ, LIM_DIR, FATOR);
cout << q;

return (qtd);
}

Postado

Há um erro de conceito nesse código.

Quando você tem uma função com parâmetros, deve passar argumentos a esses parâmetros na chamada da função e não dentro, como você fez na linha cin >> LIM_ESQ;.

Teria que ser algo como:

cin >> x

cin >> y

cin >> z

m = quantos_multiplos_entre(x, y, z)

Eu fiz um programa considerando apenas os multiplos. Veja que eu já passo argumentos constantes para a função:


#include <iostream>
using namespace std;

int mult_fator(int, int, int);

int main(void){

cout << mult_fator(30, 300, 3) << endl;

return 0;
}

int mult_fator(int lim_esq, int lim_dir, int fator){
int i = 0, qtd = 0;

for (i = lim_esq; i <= lim_dir; i++)
if (!(i % fator))
qtd++;

return qtd;
}

Postado

Falta de atenção minha colocar aquelas entradas na função, de qualquer maneira, muito obrigado Oliver, graças a sua ajuda consegui resolver o problema. :D

  • Moderador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!