Zadanie z C++ (mam z tym problem przez nauczyciela)

0

Proszę o pomoc z zadaniem z informatyki

POLECENIE NAUCZYCIELA:

Napisz program, który odpowiednim komunikatem poprosi o podanie wyrazu o dowolnej długości. Po wprowadzeniu z klawiatury wyrazu program ustali, jaka jest jego ostatnia litera. Następnie program policzy i wyświetli na ekranie komunikat informujący ile razy ta litera występuje w wyrazie.

Każdy, kto przyśle program będzie musiał mi go omówić!!!

Przykładowy wyraz wprowadzony z klawiatury:

autorytet

Wynik – komunikat:

liczba wystąpień litery t: 3

Przykład wyraz wprowadzony z klawiatury:

stolik

Wynik – komunikat:

liczba wystąpień litery k: 1

6

Z czym masz problem, jeżeli "ze wszystkim" to z całą pewnością to nie jest problem z nauczycielem, tylko z tobą.
Pokaż co zrobiłeś i powiedz z czym masz problem.

Zresztą algorytm już ci podałem:

Wczytuj do \n,
pamiętaj poprzednią literę,
zliczaj wszystkie litery w tablice int counts[256]={0}; podstawiając wczytaną literę jako indeks.

2
#include <iostream>
#include <string>
using namespace std;

int main() {
	
	string sentence;
	cout << "Podaj nazwe " << endl;
	cin >> sentence;
	
	char lastCharacter = sentence.back();
	int count = 0;
	
	for (int i = 0; i < sentence.length(); i++) {
		if (sentence[i] == lastCharacter) {
			count += 1;
		}
	}
	
	cout << "Ostatnia litere : " << lastCharacter << endl;
	cout << "Liczba wystapien " << count << endl;
	
	return 0;
}

A wytlumaczenia Ci nie napisze bo mi sie nie chce xD

2
#include <iostream>
using namespace std;

int main()
{
	int tb[256]={0},prev=EOF;
	for(int ch;((ch=cin.get())!=EOF)&&(ch!='\n');prev=ch) ++tb[ch];
	cout<<"liczba wystapien litery "<<((char)prev)<<": "<<tb[prev]<<endl;
    return 0;
}
0
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
   for(string line;((cout<<"Enter line: ")&&(getline(cin,line))&&(!line.empty()));cout<<count(line.begin(),line.end(),line.back())<<'\n'){}

   return 0;
}

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