I have done the programming but it is not reversing. I have used a different map to put the values in reverse order,but it still shows the same. My main question was to traverse backward and print the values using range based loop.
#include "stdafx.h"
#include <iostream>
#include<conio.h>
#include <stdio.h>
#include<vector>
#include<map>
#include<utility>
#include<set>
    map<int, int>m1;
        for (int i = 1; i <= 100; ++i)
        {
            m1.insert({ i,i });
        }
    for (const auto &y :m1)
    {
        cout <<"("<< y.first << "  "<<y.second << ")" <<"  " ;
    }
    cout << endl << endl;
    map<int, int>m2;
    map<int, int>::reverse_iterator iter;
    for (auto iter = m1.rbegin(); iter != m1.rend(); ++iter)
    {
        m2.insert({ iter->first,iter->second });
    }       
   for (const auto &y : m2)
    {
        cout << "(" << y.first << "  " << y.second << ")" << "  ";
    }
 
     
     
     
    