Poczytaj o wskaźnikach, bo teraz w linijce 28 próbujesz przypisać wartość w pamięci, która nie została w żaden sposób przydzielona. A w C++ to jest jak zbrodnia przeciwko ludzkości! Tak się nie robi.
To samo w linijce 32 to nie zadziała, powinno być coś takiego np.:
nowe->zm3 = new int(5); // przydzielam pamięć za pomocą operatora new z przypisaniem wartości
*(nowe->zm3) = 10; // zmieniam wartość pod wskaźnikiem wcześniej przydzielonej pamięci
Najpierw przydzielam pamięć dynamicznie z ustaloną wartością, później przypisuję do tej pamięci nową wartość.