Не правильно сортируется параллель под побочной диагональю. Что не так и что надо исправить?
Вы этот код хотя бы раз целиком прочитали? Кажду строчку? Вот поствьте перед мониторо кружку. Представьте, что это ваш друг-студент, который пытается списать у вас задание, но ничего не понимает. Вот объясните ему, строчка-за-строчкой, что происходит в вашем коде, что он должен делать, как должен работать.

Вам должно сразу стать понятно, что в одной строчке написан полный, абсолютный, дисстилированный бред.
Лови такой код
//g++  7.4.0
https://qna.habr.com/q/1088148
#include<iostream>
#include <cstring>
#include<cmath>
#include<cstdlib>
#include<ctime>
#include<vector>
#include <bits/stdc++.h>
using namespace std;


int main()
{
  setlocale(LC_ALL, "RUS");
  srand(time(NULL));

  const int n = 5;
  double a[n][n], buf;
  int k = 1;

  cout << "Массив a" << endl;
  for (int i = 0; i < n; i++)
  {
    for (int j = 0; j < n; j++)
    {
      a[i][j] = rand() % 20 - 10;
      cout << "a[" << i << "][" << j << "] = " << a[i][j] << "\t";
    }
    cout << endl;
    cout << endl;
  }
    vector<double> vd;
  for (int i = 0; i < n; i++)
  {
    for (int j = 0;j<n;j++)
    {
      if(i==j)
          break;
        if(i==j+1)
            vd.push_back(a[i][j]);
    }
  }
   sort(vd.begin(), vd.end());
  for(int i=0;i<vd.size();i++)
      
  cout <<vd[i]<< endl;
    k=0;
    for (int i = 0; i < n; i++)
  {
    for (int j = 0;j<n;j++)
    {
      if(i==j)
          break;
        if(i==j+1){
            a[i][j] = vd[k];
            k++;
        }
    }
  }
  cout << "Отсортированная параллель побочной диагонали расположенной под диагональю" << endl;
  for (int i = 0; i < n; i++)
  {
    for (int j = 0; j < n; j++)
    {
      cout << "a[" << i << "][" << j << "] = " << a[i][j] << "\t";
    }
    cout << endl;
    cout << endl;
  }
}