📘 Lecție de C++ pentru clasa a 11-a și BAC, cu explicații video de la profesor. Mai jos ai rezumatul. În lecția completă găsești aplicații rezolvate cu simulator, în care vezi pas cu pas cum se schimbă variabilele, compilator C++ în browser, exerciții propuse cu indicii și rezolvare, și pe Alex, asistentul care îți dă indicii, îți explică algoritmul și îți corectează codul.
🎯 Apare la BAC? Da. Separarea cuvintelor dintr-o propoziție e o cerință frecventă la problemele cu șiruri de caractere de la BAC.
char s[] = "Ana are mere";
char *p = strtok(s, " ");
while (p) {
cout << p << endl;
p = strtok(NULL, " ");
}
1. Cum separ cuvintele dintr-o propoziție în C++? Cu strtok: primul apel primește șirul și delimitatorii, apoi apelezi strtok(NULL, delimitatori) până returnează NULL.
2. De ce la al doilea apel se pune NULL? Pentru că strtok reține intern unde a rămas și continuă de acolo.
3. Pot folosi mai mulți delimitatori? Da, îi scrii pe toți în același șir, de exemplu strtok(s, " ,.").
4. Ce se întâmplă cu șirul original? Se modifică: delimitatorii sunt înlocuiți cu \0. Dacă ai nevoie de el, fă o copie înainte.
5. Cum număr cuvintele dintr-un șir? Parcurgi cuvintele cu strtok și crești un contor la fiecare cuvânt găsit.