#include "myfuncStructOOP.h" // Static function for string length calculation static int my_strlen(const char *str) { int length = 0; while (str[length] != '\0') { length++; } return length; } // 'Method' to count occurrences of each character static void count_charactersStructOOP(ZliczaczStructOOP* zliczacz) { int alfabet_length = my_strlen(zliczacz->alfabet); // Initialize the result array to zero for (int i = 0; i < alfabet_length; ++i) { zliczacz->wynik[i] = 0; } // Count occurrences for (int i = 0; i < alfabet_length; ++i) { for (int j = 0; zliczacz->slowo[j] != '\0'; ++j) { if (zliczacz->alfabet[i] == zliczacz->slowo[j]) { zliczacz->wynik[i]++; } } } } // Constructor-like function to initialize a ZliczaczStructOOP void initializeZliczaczStructOOP(ZliczaczStructOOP* zliczacz, const char* alfabet, const char* slowo, uint8_t* wynik) { zliczacz->alfabet = alfabet; zliczacz->slowo = slowo; zliczacz->wynik = wynik; zliczacz->count_characters = count_charactersStructOOP; } // #include "myfuncStructOOP.h" // ZliczaczStructOOP zliczacz; // initializeZliczaczStructOOP(&zliczacz, alfabet, slowo, wynik); // zliczacz.count_characters(&zliczacz);