Другие языки программирования и технологии
Помогите выполнить задание с массивами на С++
Разработать функцию, позволяющую поменять местами две произвольные строки двухмерного массива. Ввести массив. Поменять два раза по две строки. За ранее Спасибо!
#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;
}
#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;
}
либо 50 рублей за код, либо спрашивай, что непонятно
ну и? есть у вас двумерный массив.. . делаете еще дополнительно одномерный по размер равному количеству элементов в строках.. . а потом с первого массива переносите одну строку в одномерный массив, на место первой строки ставите вторую, а потом на место второй - то что хранится в массиве.. . можно также в три действия через сложения и вычитания элементов друг друга - тогда можно обойтись без одномерного массива...
за ящик шампанского....
Похожие вопросы
- C++ задание по массивам
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- С++ Задание на массив
- С++. Задание на массив строк
- Помогите с программой Одномерные массивы и указатели
- задание с массивом в С++
- помогите срочно надо Квадратные массивы тема: Двумерные массивы на языке C++
- Помогите решить задание по HTML/CSS в Dreamweaver
- Помогите пожалуйста. Visual Basic - массивы
- Помогите сделать функцию для массива.