Ну вот молодец.
Ну тут два варианта вижу.
1. Вывести в цикле на одну итерацию меньше.
2. Удалить из массива значения последнего столбца
Rakovskiy, все намного проще*))
// ÊÍ15 ëð6_âàð6.cpp: îïðåäåëÿåò òî÷êó âõîäà äëÿ êîíñîëüíîãî ïðèëîæåíèÿ.
//
// ÊÍ-15 ëð9_âàð19.cpp: îïðåäåëÿåò òî÷êó âõîäà äëÿ êîíñîëüíîãî ïðèëîæåíèÿ.
//
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include "conio.h"
#include "time.h"
#pragma warning(disable: 4996)
int main()
{
setlocale(LC_ALL, "Russian"
srand(time(NULL));
int X[100][100];
int x[200];
int m, n,N;
int temp;
printf("ââåäèòå m\n"
scanf("%d", &m);
printf("ââåäèòå n\n"
scanf("%d", &n);
N = m*n;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
X[i][j] = x[i] = rand() % 100;
printf(" %d ", x[i]);
}
printf("\n"
}
int k = 0;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
x[k] = X[i][j];
k++;
}
}
for (int i = N - n-1; i >= 0; i -= n)
{
for (int j = i; j < N-1; j++)
{
temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
}
}
n--;
N = m*n;
printf("\náåç ïîñëåäíåãî ñòîëáöà\n"
for (int i = 0; i < N; i++)
{
printf(" %d ", x[i]);
if ((i + 1) % n == 0) printf("\n"
}
_getch();
return 0;
}