Wyznaczanie grupy zrobiłbym najprościej jak się da, czyli w kodzie metody sprawdz zaszyc jednowymiarową tablice, ktora zawiera odwzorowanie liczba atomowa na grupę (indeksem w tablicy jest liczba atomowa a wartością właśnie grupa). Mając wypełnioną taką tablicę sprawdzanie grupy opierało by się na odczytaniu komórki o indeksie będącym liczbą atomową (ewentualnie l.atomowa-1, bo tablice w c++ indeksowane są od zera). Do pełni szczęścia dobrze by było dać test, czy nie zachodzi próba odczytania czegoś "poza tablica".