C++ for, referências e sintaxe

1. C++ for, referências e sintaxe

Mistery
Cmistry

(usa Ubuntu)

Enviado em 11/01/2020 - 21:26h

Alguém sabe porque recebo valores incorreto das porcentagem?
https://i.stack.imgur.com/Gjpw8.png
E como soma os valores de fi de maneira que começar pelo primeiro mais seu atessesor como n tem nada antes do primeiro aí vai pro próximo mais o primeiro que é o atessesor.
No caso da imagem os valores de fi é...
1, 2, 1, 2, 3, 2
E a soma que falei ficaria...
1
(2+1)=3
(1+3)=4
(2+4)=6
(3+6)=9
(2+9)=11
Aí no caso eu faria uma outra coluna ao lado das porcentagens.

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>

using namespace std;

int main()
{
vector<int> values;
cout << "Digite os números (Ctrl+D para terminar): \n";
copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(values));
sort(begin(values), end(values));
int reps = 0;
int soma = 0;
float soma1 = 0;
float div = 0;
cout << "X | fi | fri\n";
for (auto it = begin(values); it != end(values); advance(it, reps)) {
auto it_pair = equal_range(it, end(values), *it);
reps = distance(it_pair.first, it_pair.second);
soma += reps;
div = float(reps)/float(soma);
//soma1 += div;
cout<<cout.precision(2)<<*it << " | " << reps << " |"<<div*100<<"%"<<endl;
}
soma1 += div;
cout<<"Soma:"<<soma<<" div:"<<soma1*100<<endl;
}



  


2. Re: C++ for, referências e sintaxe

Paulo
paulo1205

(usa Ubuntu)

Enviado em 14/01/2020 - 18:14h

Não sei se entendi direito o propósito do seu programa. Você quer fazer algo parecido com um histograma? O que significam fi e fri?

Uma correção que eu consigo vislumbrar é que você provavelmente não quer realmente fazer “cout << cout.precision(2) << ...”. Ou você transforma isso em “cout.precision(2); cout << ...” ou inclui o cabeçalho <iomanip> e faz “cout << setprecision(2) << ...”.


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)


3. fi e fri

Mistery
Cmistry

(usa Ubuntu)

Enviado em 14/01/2020 - 19:33h

paulo1205 escreveu:

Não sei se entendi direito o propósito do seu programa. Você quer fazer algo parecido com um histograma? O que significam fi e fri?

Muito interessante a observação da precisão.

fi é a frequência absoluta.
Ela diz quantas vezes a variável se repete.

E fri é a frequência relativa
fri=(fi/&#931;fi)
Dividindo fi pelo somatório dos valores em fi.



4. Re: C++ for, referências e sintaxe

Paulo
paulo1205

(usa Ubuntu)

Enviado em 14/01/2020 - 23:59h

Nesse caso, o somatório dos valores de fi já está calculado: é o número de elementos de values, values.size().


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)


5. Re: C++ for, referências e sintaxe

Mistery
Cmistry

(usa Ubuntu)

Enviado em 15/01/2020 - 01:07h


paulo1205 escreveu:

Nesse caso, o somatório dos valores de fi já está calculado: é o número de elementos de values, values.size().


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)


Paancada ×.×
Será que aquela outra soma para estar criando uma nova coluna ao lado (Frequência acumulada) se faz nesse mesmo for?
Essa é a última coluna que preciso para fecha o tópico.
https://pt.m.wikihow.com/Calcular-Frequ%C3%AAncia-Acumulada?amp=1
Estou muito quebrando a cabeça! Mas sempre tem um iluminando como vc que me dá esperanças.
Obrgd.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts