Ilość wystąpień liczb w tablicy

0

Mamy tablicę posortowaną rosnąco. Np. {2 2 2 2 3 3 3 4 5 5}. Jak policzyć ilość wystąpień poszczególnych liczb? Chodzi mi o to żeby wypisać to w następujący sposób:

2 4
3 3
4 1
5 5
1
  1. Jeżeli masz tablicę posortowaną jak w przykładzie:
for(size_t i=0,count=0;i<=tbSize;++i)
  {
   if((!i)||((i!=tbSize)&&(tb[i-1]==tb[i]))) ++count;
   else
     {
      cout<<tb[i-1]<<' '<<count<<endl;
      count=1;
     }
  }
  1. Jeżeli zakres liczb w tablice jest ograniczony i znany
unsigned cnt[10]={0};
for(size_t i=0;i<tbSize;++i) ++cnt[tb[i]];
for(size_t i=0;i<10;++i) if(cnt[i]) cout<<i<<' '<<cnt[i]<<endl;
  1. w przeciwnym przypadku użyj map.
0

a co oznacza tbSize?

0
for(size_t i=0,count=0;i<=tbSize;++i)
  {
   if((!i)||((i!=tbSize)&&(tb[i-1]==tb[i]))) ++count;
     {
      cout<<tb[i-1]<<' '<<count<<endl;
      count=1;
     }
   else ++count;
  }

To moje początki wiec sory za głupie pytania, ale po sprawdzeniu tego kodu wyskakuje mi taki błąd

[Error] 'else' without a previous 'if'

dodanie znaczników <code> i <code class="cpp"> - @furious programming

0
if (...) ++count;
{
    ...
}
else ++count;

Jako że po if jest instrukcja ++count to te klamry już nie należą do if. Czyli else nie ma odpowiadającego mu ifa. Poza tym jaki sens powtarzać ++count?

if (...)
{
    ...
}

++count;

1 użytkowników online, w tym zalogowanych: 0, gości: 1