Сортировка массива методом Шелла - C (СИ)
Формулировка задачи:
Ребят, помогите,нужно отсортировать двумерный массив методом Шелла. Написал код, вроде всё правильно, но сортировать оно не хочет.
// ConsoleApplication32.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <time.h>
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
const int n = 5, m = 6;
int i, j, por, per;
int mass[n][m];
void ran() {
srand(time(NULL));
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
mass[i][j] = rand() % 25;
}
}
}
void print() {
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("%d ", mass[i][j]);
if (j == m - 1) printf("\n");
}
}
printf("\n\n");
}
void Sort() {
int d, i, j;
for (d = n / 2;d >= 1; d /= 2) {
for (i = d;i < n;i++) {
for (j = i;j >= d && mass[j - d]>mass[j]; j -= d) {
swap(mass[j], mass[j - d]);
}
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
ran();
print();
Sort();
print();
getchar();
getchar();
}Решение задачи: «Сортировка массива методом Шелла»
textual
Листинг программы
mass[j - d]>mass[j]