Gen. Serge Gellé, 57, the Secretary of State for the Gendarmerie, was discovered in the water by a fisherman in a canoe who brought him to shore, according to officials.
Another passenger, Chief Warrant Officer Jimmy Laitsara, also swam to the beach at Mahambo.
“My turn to die has not yet come, thank God. I’m well. I’m just cold,” said Gelle in a video posted to Twitter by Madagascar's defense ministry. "But I’m sad because I don’t know if my friends are alive.”
Gelle appeared on a lounge chair, still in his military camouflage, his hands pale and wrinkled by the water and the cold.
“There were four of us in the aircraft. I was seated behind the pilot," he said of the Monday evening crash.
"Not having a life jacket, I unfastened the seat and used it as a buoy. I stayed calm and took off anything heavy I was carrying like my boots and belt. I did everything to stay alive,” he said. Gelle said he expected to be back at work in 24 hours and said that he lost his cell phone in the crash.
On Wednesday afternoon, rescue workers recovered the body of Col. Olivier Andrianambinina, director of security for the prime minister. The pilot remains missing.
Many in Madagascar applauded Gelle's feat, calling him a “hero” an “extraordinary athlete,” and “an example to follow” on social media.
The cause of the helicopter crash “remains undetermined,” authorities said. Gelle said that gusts of wind had destabilized the aircraft. The helicopter pilot and another passenger are still missing.
The helicopter was one of two flying a government delegation to view the site where a boat, the Francia, sank, drowning at least 83 people on board.
On Wednesday more bodies were recovered off the island of Sainte-Marie, in the northeast of the country, according to officials. Fifty people have survived and five people remain missing.
The small cargo ship sank Monday while it was illegally transporting 138 people, according to a statement Wednesday by the Maritime and River Port Agency.
Efforts continue to recover the more than 20 people still missing, said the agency.
The Francia sank Monday morning about 20 kilometers (12 miles) from the town of Soanierana Ivongo.
“A flood in the engine room caused the massacre. Obviously, the boat had exceeded its loading capacity,” said Maurice Tianjara, deputy director-general of the maritime agency.