MrCookie20 Posted December 23, 2019 at 09:28 PM Report Share #616912 Posted December 23, 2019 at 09:28 PM (edited) Boa noite, Estou atualmente a fazer um trabalho académico no âmbito da cadeira de programação em que consiste saber a média e o desvio padrão de determinados custos, o meu problema é que eu desenvolvi uma forma para calcular o desvio padrão e ao que aparenta ela por vezes funciona corretamente mas tem vezes que surge este número "-2147483648", já andei às voltas e não consegui achar uma solução para isto, se alguém poder me ajudar por favor mande-me mensagem privada, pois não queria, por agora, disponibilizar o meu trabalho publicamente. Edited December 23, 2019 at 09:30 PM by MrCookie20 Link to comment Share on other sites More sharing options...
Rui Carlos Posted December 24, 2019 at 02:38 PM Report Share #616913 Posted December 24, 2019 at 02:38 PM Por acaso não estás a calcular o desvio padrão com inteiros? Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Gonçalo Silva Posted December 24, 2019 at 03:45 PM Report Share #616914 Posted December 24, 2019 at 03:45 PM (edited) deves estar a usar inteiros de 4 bytes Citação Size of int types is 4 bytes Signed int min: -2147483648 max: 2147483647 Unsigned int min: 0 max: 4294967295 2147483647+1=-2147483648 Edited December 24, 2019 at 04:37 PM by Gonçalo Silva Link to comment Share on other sites More sharing options...
MrCookie20 Posted December 24, 2019 at 07:37 PM Author Report Share #616916 Posted December 24, 2019 at 07:37 PM 4 horas atrás, Rui Carlos disse: Por acaso não estás a calcular o desvio padrão com inteiros? Sim estou, isso seria algum problema, eu experimentei por as variáveis em float e ocorre o mesmo Link to comment Share on other sites More sharing options...
MrCookie20 Posted December 24, 2019 at 07:39 PM Author Report Share #616917 Posted December 24, 2019 at 07:39 PM 3 horas atrás, Gonçalo Silva disse: deves estar a usar inteiros de 4 bytes 2147483647+1=-2147483648 Sim estou, peço desculpa a ignorância mas não percebi honestamente o que tenho que fazer para impedir esse erro Link to comment Share on other sites More sharing options...
Gonçalo Silva Posted December 24, 2019 at 10:52 PM Report Share #616918 Posted December 24, 2019 at 10:52 PM Não conheço C++ nem o teu projeto, mas o melhor a fazer seria usares inteiros de 8bytes ou até maiores (se forem suportados) Link to comment Share on other sites More sharing options...
Rui Carlos Posted December 25, 2019 at 04:57 PM Report Share #616919 Posted December 25, 2019 at 04:57 PM O desvio padrão não é um valor inteiro. O melhor é converter os valores para double antes de começar os cálculos. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
MrCookie20 Posted December 26, 2019 at 01:14 AM Author Report Share #616921 Posted December 26, 2019 at 01:14 AM 8 horas atrás, Rui Carlos disse: O desvio padrão não é um valor inteiro. O melhor é converter os valores para double antes de começar os cálculos. Irei aplicar isso e depois digo no que deu esta mudança, já agora boas festas. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 14, 2020 at 07:53 PM Report Share #617353 Posted February 14, 2020 at 07:53 PM parece que deu resultado 😄 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
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