Что я сделал:
int **mass, *point, i, j;
mass = new int* [4];
for (i = 0; i < 4; i ++) mass = new int [2];
for (i = 1; i < 4; i ++)
for (j = 3; j > i - 1; j --)
if (mass[j -1][0] > mass[j][0]){
point = mass[j - 1];
mass[j - 1] = mass[j];
mass[j] = point;
}
for (i = 0; i < 4; i ++) delete []mass;
delete []mass;
Что нужно сделать: в массиве 4 на 2 выполнить сортировку по строкам таким образом, чтобы первые элементы (mass[0]) были упорядочены по возрастанию. Я новичок в программировании и дико туплю с указателями, поэтому прошу ногами не пинать.
Другие языки программирования и технологии
Как отсортировать статический двухмерный массив?
> Как отсортировать статический двухмерный массив?
Что-то у тебя массив совсем не статический, а очень даже динамический.
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int *x, int *y) { return x[0] < y[0]; }
int main() {
srand(time(0));
int **mass = new int *[4];
for (int r = 0; r < 4; ++r) {
mass[r] = new int[2];
for (int c = 0; c < 2; ++c) cout << setw(4) << (mass[r][c] = rand() % 100);
cout << endl;
}
cout << endl;
sort(mass, mass + 4, cmp);
for (int r = 0; r < 4; ++r) {
for (int c = 0; c < 2; ++c) cout << setw(4) << mass[r][c];
cout << endl;
}
for (int r = 0; r < 4; ++r) delete[] mass[r];
delete mass;
return 0;
}
> Работаю в шестом билдере.
Выкинь каку.
Что-то у тебя массив совсем не статический, а очень даже динамический.
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int *x, int *y) { return x[0] < y[0]; }
int main() {
srand(time(0));
int **mass = new int *[4];
for (int r = 0; r < 4; ++r) {
mass[r] = new int[2];
for (int c = 0; c < 2; ++c) cout << setw(4) << (mass[r][c] = rand() % 100);
cout << endl;
}
cout << endl;
sort(mass, mass + 4, cmp);
for (int r = 0; r < 4; ++r) {
for (int c = 0; c < 2; ++c) cout << setw(4) << mass[r][c];
cout << endl;
}
for (int r = 0; r < 4; ++r) delete[] mass[r];
delete mass;
return 0;
}
> Работаю в шестом билдере.
Выкинь каку.
В третьей строчке:
for (i = 0; i < 4; i ++) mass[i] = new int [2];
Добавить ввод-вывод и все должно работать.
for (i = 0; i < 4; i ++) mass[i] = new int [2];
Добавить ввод-вывод и все должно работать.
Похожие вопросы
- C++ Двухмерный массив с случайными не повторяющимися числами.
- Задача по делфи на двухмерный массив.
- Двухмерные массивы(может быть есть добрые люди которые помогут решить)
- Язык си, двухмерный массив и функция.
- Отсортировать отрицательные элементы массива по убыванию, пропуская положительные и нули. Вывести массив до и после сорт
- помогите решить задачку по информатике на паскале. найти минимальный и максимальный элемент двухмерного массива
- Как в С++ двухмерный массив записать в переменную??
- народ помогите задан двухмерный массив вытянуть его в строку обходя его построчно
- Здраствуйте! На Vb.net дано двухмерные массивы из (5,5) элементов!
- C++ Как объявить и вывести из функции статический двумерный массив?
и чем тебя билдер не устраивает?