Witajcie. Dostałem takie zadanie w szkole. w którym trzeba wczytywać wyrazy aż do napotkania pierwszego lub drugiego wczytanego wyrazu. Na końcu programu ma się wyświetlać informacja ile miał najdłuższy wyraz najkrótszy wyraz oraz ile razy wystąpiła sytuacja że pierwsza litera aktualnego wyrazu była taka sam jak ostatnia litera poprzedniego wyrazu. I z tym ostatnim zadaniem nie mogę sobie poradzić. Wiem jak wyznaczyć pierwszą literę wyrazu (napis[0]) ale nie wiem za cholere jak wyznaczyć ostatnią, zapis napis[n-1] nic nie daje.
Wkleja tu mój kod bardzo proszę was o podpowiedzi co i jak bo już nie mam pomysłów.
#include <iostream>
#include <cstdlib>
using namespace std;
string pierwszy;
string drugi;
string aktualny;
string poprzedni;
int l_znk_najd; //liczba najdluższego znaku
int l_znk_najk; //liczba najkrotszego znaku
int l_znk_ts = 0; //liczba sytuacji gdzie pierwszy znak aktualnego i ostatni znak poprzedniego jest taki sam
int main(int argc, char*argv[])
{
cout << "======Zadanie 2======\n";
cout << "=====Maciej Saja=====\n";
cout << "Podaj jakis napis\n ";
cin >> pierwszy;
cout << "Podaj drugi napis\n";
cin >> drugi;
if(pierwszy.size() > drugi.size())
{
l_znk_najd = pierwszy.size();
l_znk_najk = drugi.size();
}
else
{
l_znk_najd = drugi.size();
l_znk_najk = pierwszy.size();
}
poprzedni = drugi;
if(pierwszy != poprzedni)
{
do{
cout << "Podaj kolejny napis\n";
cin >> aktualny;
if(aktualny.size()>l_znk_najd)
{
l_znk_najd = aktualny.size();
}
else if(aktualny.size() < l_znk_najk)
{
l_znk_najk = aktualny.size();
}
}while(aktualny!=pierwszy && aktualny != poprzedni);
}
cout << "Najdluzszy wyraz mial: " << l_znk_najd << endl;
cout << "Najkrotszy wyraz mail: " << l_znk_najk << endl;
cout << "Sytuacja w ktorej pierwsza litera aktualnego byla taka sama jak ostatnia poprzedniego wystapila " << l_znk_ts << " razy" << endl;
system("pause");
return 0;
}
```c++