homework/cpp/myfuncStructOOP.cpp

45 lines
1.3 KiB
C++
Raw Permalink Normal View History

2024-05-24 12:00:16 +00:00
#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);