код перенесен с C на С++