Witam. Mam banalne pytanie lecz za nic nie rozumiem dlaczego tak się dzieje.
Otóż mam zadanko jakieś tam, mało ważne, no i w tym zadaniu mam pętlę, która ma wykonać się n
razy. Przy instrukcji
int n=2; wykona się 2 razy
cin>>n; wpisuje wartość 2, wykonuje się raz.
Wklejam kod, może w nim jest błąd.(za każdym razem dla wartości podanej przy deklaracji wykona się o 1 więcej, niż gdy ja podaje. Myślę, że to coś z obiektem cin jakkolwiek pewności nie mam).
#include <iostream>
using namespace std;
int main()
{
string alfabet="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int tab[alfabet.size()];
for(int i=0; i<alfabet.size();i++)
tab[i]=0;
string sentence;
int n;//przy deklaracji n=2 wykona sie wiecej o 1 niz gdy podam wartosc n-2
cin>>n;
for(int i=0; i<n; i++)
{
getline(cin, sentence);
for(int j=0; j<sentence.size(); j++)
{
for(int g=0;g<alfabet.size();g++)
{
if(sentence[j]==alfabet[g])
tab[g]++;
}
}
}
for(int i=0;i<alfabet.size();i++)
{
if(tab[i]!=0)
{
cout<<alfabet[i]<<" "<<tab[i]<<endl;
}
}
return 0;
}