Другие языки программирования и технологии

Помогите выполнить задание с массивами на С++

Разработать функцию, позволяющую поменять местами две произвольные строки двухмерного массива. Ввести массив. Поменять два раза по две строки. За ранее Спасибо!
#include <iostream>
#include<time.h>
using namespace std;
int main ()
{
int j,k,N,M,a,b;
srand(time(NULL));
cout << "(N x M), N="; cin >> N;
cout << "(N x M), M="; cin >> M;
int* t,*m=new int[N*M*sizeof(int)];
int** p=new int*[N*sizeof(int)];
for(j=0;j-N;p[j++]=&m[j*M]);
for(j=0;j-N*M;m[j++]=rand());
for(j=0;j-N;j++,cout << endl) for(k=0,cout << j << ")\t";k-M;k++) cout << p[j][k] << '\t';
for(;;)
{
cout << "a и b = [0.."<< N-1 << "], exit if a == b" << endl;
cout << "a <-> b, a="; cin >> a;
cout << "a <-> b, b="; cin >> b;
if(a==b) break;
if(a>=0 && b>=0 && a < N && b < N)
{
t=p[ b ],p[ b ]=p[a],p[a]=t;
for(j=0;j-N;j++,cout << endl) for(k=0,cout << j << ")\t";k-M;k++) cout << p[j][k] << '\t';
}
}
delete [] m,p;
}
Антон Белашов
Антон Белашов
76 473
Лучший ответ
либо 50 рублей за код, либо спрашивай, что непонятно
ну и? есть у вас двумерный массив.. . делаете еще дополнительно одномерный по размер равному количеству элементов в строках.. . а потом с первого массива переносите одну строку в одномерный массив, на место первой строки ставите вторую, а потом на место второй - то что хранится в массиве.. . можно также в три действия через сложения и вычитания элементов друг друга - тогда можно обойтись без одномерного массива...
за ящик шампанского....
Rati Kartvelishvili
Rati Kartvelishvili
9 289