Preliminariamente ti consiglio di postare il codice indentandolo, magari utilizzando le tag apposite... giusto perché così si capisce meglio ed è più facile aiutarti.
Il problema è innanzitutto nella funzione di ordinamento. Mi sembra che volessi implementare il Bubble sort ma così è sbagliato, tra l'altro come errore più evidente incrementi l'indice i anche nel ciclo for interno dove invece andrebbe incrementata j.
Inoltre l'indice k del vettore v (nel main) va incrementato nel ciclo for interno sia quando copi gli elementi dal vettore alla matrice sia quando fai la copia inversa, altrimenti incrementando k nel ciclo esterno consideri un numero di elementi pari al numero di righe della matrice, e non a quello dei suoi elementi.
Ricorda anche di azzerare l'indice k dopo il primo doppio for e occhio anche alla stampa della matrice alla fine: la stampa degli elementi deve avvenire - ancora una volta - nel ciclo for interno.
Poi... perché passi per riferimento le dimensioni della matrice alla funzione di lettura? Non ti compromette il funzionamento del programma ma è inutile...
Ti consiglio di provare a debuggarlo da solo, comunque nel caso avessi troppi problemi ti posto il codice corretto... senza eccessive modifiche al tuo.
codice:
#include <iostream>
using namespace std;
void leggi_mat(int m[100][100], int c, int r);
void ordina(int *v, int n);
int main()
{
int m[100][100];
int *v;
int n, r, c, k = 0, i, j;
cout << "r";
cin >> r;
cout << "c";
cin >> c;
n = r * c;
v = (int *) malloc(n * sizeof(int));
leggi_mat(m, r, c);
for (i = 0; i < r; i++) {
for (j = 0; j < c; j++) {
v[k] = m[i][j];
k++;
}
}
ordina(v, k);
k = 0;
for (i = 0; i < r; i++) {
for (j = 0; j < c; j++) {
m[i][j] = v[k];
k++;
cout << m[i][j] << "\t";
}
cout << endl;
}
}
void leggi_mat(int m[100][100], int c, int r)
{
int i, j;
for (i = 0; i < r; i++)
for (j = 0; j < c; j++) {
cout << "m[" << i << "][" << j << "]";
cin >> m[i][j];
}
}
void ordina(int *v, int n)
{
int i, j, temp;
for (i = 0; i<n-1; i++)
for (j=n-1; j>i; j--)
if (*(v + i) > *(v + j)) {
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
}