Hello Paul,
An NCO should be corrected in private by his superiors. Never before the subordinate troops.
I have never ordered troops to drop and do push ups. Maybe this works for Basic Training. It is counterproductive and does not instill discipline. It only makes troops hateful to NCOs.
However, I do like telling people to go "take a lap" and get them out of my face while they run around the compound. This lets them "think" about their mistake while they are running and when they return they go back into formation with no other words or comments by me.
I prefer to always praise in public and criticize in private.
Just don't mess up and no one will have to "correct you."
Best wishes,
Larry Smith
SMSgt, USAF (Ret.)
First Sergeant