Witam, mam do napisania program, w którym tablica typu std::string będzie przechowywała słowa niczym słownik. Na razie muszę napisać funkcję, która będzie dodawać słowo do tablicy oraz funkcję, która wypisze zawartość tablicy. Oto mój kod:
#include <iostream>
#include <string>
void dodaj(std::string s[5000], std::string str)
{
bool t;
for (int i = 0; i < 5000; i++) { // sprawdzanie, czy istnieje juz takie slowo
if (str != s[i]) {
t = true;
} else {
t = false;
}
}
if (t) {
for (int i = 0; i < 5000; i++) { // jesli nie istnieje znajdz pusta wartosc tablicy i wpisz tam slowo
if (s[i] == " ") {
s[i] = str;
} else {
std::cout<<"koniec miejsca w tablicy"<<std::endl;
}
}
} else {
std::cout << "Istnieje juz takie slowo" << std::endl;
}
}
void wypisz(std::string s[5000])
{
for (size_t i = 0; i <5000; i++ ) {
std::cout<<s[i]<<std::endl;
}
}
auto main() -> int
{
std::string slownik[5000];
dodaj(slownik,"kot");
wypisz(slownik);
return 0;
}
Nie jestem pewien, czy tak sprawdza się nieużyte miejsce w tablicy oraz chciałbym się dowiedzieć, czy jest jakiś sposób, aby funkcja 'wypisz' wypisywała tylko "zajęte" pola tablicy. Z góry dziękuję za rady!