aMachado Posted October 26, 2016 at 06:29 PM Report #599926 Posted October 26, 2016 at 06:29 PM Olá a todos antes de mais, Estou a fazer um trabalho para a universidade bastante simples. O objectivo é o utilizador introduzir um valor, e nós dizermos se o número é primo ou não. Eu desenvolvi um fluxo grama juntamente com uma tabela de verificação e bateu tudo certo. Desenvolvi o código e algo não está a bater certo, está sempre a devolver a mesma resposta, "O número é primo", independentemente do valor que colocarmos lá. Talvez um par de olhos frescos consiga ver o meu erro. Desde já muito obrigado pela vossa atenção. [CHEERS] # include <stdio.h> # include <stdlib.h> # include <iostream> # include <locale.h> # include <iomanip> using namespace std; int main () { setlocale(LC_ALL,""); int n, r, quo, div,result; div=2; cout << "Introduza o número a ser verificado: "; cin >> n; do{ r=n%div; quo=n/div; div++; } while (r!=0 && div<=quo); if (r!=0||n==2){ result=1; }else{ result=0; } if (result=0){ cout << "O número não é primo."; }else{ cout << "O número é primo."; } }
iron Posted October 26, 2016 at 07:21 PM Report #599930 Posted October 26, 2016 at 07:21 PM A tua condição não está propriamente bem feita. Contudo deixo-te um código ao qual poderás dar uma vista de olhos. int numeroLido; int numeroDeDivisoes = 0; while(numeroDeDivisoes < 3 && numeroLido != 0) { int aux = numeroLido % 2; numeroLido /= 2; if(aux == 0) ++numeroDeDivisoes; if(numeroLido == 0 && numeroDeDivisões == 2) { //imprime que é primo e acaba } } //imprime que nao é primo Este código foi feito por alto e pode ter algum bug Cumprimentos, iron
Solution HappyHippyHippo Posted October 27, 2016 at 07:19 AM Solution Report #599948 Posted October 27, 2016 at 07:19 AM deixando de parte a qualidade do código original, afinal é um iniciante, o erro está somente numa linha de código: if (result=0){ cout << "O número não é primo."; }else{ cout << "O número é primo."; } responde a esta simples questão : qual é o operador de comparação ? no que toca à resposta anterior, vou assumir que terá sido dada de bom grado por alguém que está a dar os seus primeiros passos, e como tal, terá de ser analisada dentro desses moldes 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
aMachado Posted October 27, 2016 at 07:35 AM Author Report #599951 Posted October 27, 2016 at 07:35 AM Desde ja muito obrigado pela atenção e pelo tempo disposto. Operador de comparação ==? Vou alterar o codigo assim que chegar a casa testar. Obrigado a todos q perderam 5 min a olhar para o meu codigo. Cumps, Machado [CHEERS]
aMachado Posted October 28, 2016 at 03:43 PM Author Report #600021 Posted October 28, 2016 at 03:43 PM Feito, tive que colocar mais uma validação para o número 1. Muito obrigado pela ajuda. Cumps,
HappyHippyHippo Posted October 28, 2016 at 06:19 PM Report #600023 Posted October 28, 2016 at 06:19 PM 2 hours ago, aMachado said: Feito, tive que colocar mais uma validação para o número 1. Muito obrigado pela ajuda. Cumps, agora optimiza o código ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now