ZADANIE POLSKI SPOJ - JZLICZ - Zliczacz liter!!! Poniżej kod rozwiązania.
Piszę program mający za zadanie liczyć wystąpienie liter w ciągu znaków wpisanym przez użytkownika(Użytjownik podaje liczbę wierszy, które ma zamiar wpisać i po ich skończeniu program ma za zadanie podać w jakiej ilości występowały poszczególne litery we wszystkich wierszach łącznie). Problem w tym, że program kończy się po przyjęciu znaków przez getline(). Próbowałem swój algorytm na pojedyńczym wykonaiu pętli w int main() znajdowało się wtedy:
{
getline(cin,wyraz);
zliczacz(wyraz);
return 0;
}
Program działał poprawnie, ale kiedy dodałem pętlę po przyjęciu ciągu przez getline() program nie wykonywał kolejnego kroku pętli tylko wyswietlał poprawne odpowiedzi dla pierwszego ciągu i kończył swoje działanie.
#include <iostream>
#include <string>
using namespace std;
void zliczacz(string zdanie)
{
int a = zdanie.length() - 1;
for (int j = 0; j <= a; j++)
{
int licznik = 0;
if (zdanie[j] != ' ')
{
licznik++;
for (int i = j + 1; i <= a; i++)
{
if (zdanie[i] == zdanie[j])
licznik++;
}
cout << zdanie[j] << " " << licznik << endl;
}
}
}
int main()
{
string wyraz,zdanie=" ";
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
getline(cin, wyraz);
cin.ignore();
zdanie += wyraz;
}
zliczacz(zdanie);
return 0;
}