Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
#1

Матрица, сортировка диагонали за алгоритмом вставки. - C++

30.12.2010, 07:39. Просмотров 1131. Ответов 6
Метки нет (Все метки)

Здравствуйте, написал программу для создания двумерной матрицы и последующей сортировке матрицы за методом вставки и методом обмена.
Програма получилась, работает, но не правильно строит матрицу за методом вставки, за методом обмена - правильно
Оставлю кусочек кода, отвечающий за алгоритм вставку.
Прошу исправить помочь найти ошибку и исправить её(

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void insert()       //функция сортировки элементов главной диагонали алгоритмом вставки
{
    int min = 0;        // индекс минимального элемента
    int temp;
    for (int i=1; i<size; i++)  // для всех элементов главной диагонали
    {
        min = i;// по умолчанию минимальный элемент - тот, с которого начинаем поиск
        for (int j=i; j<size; j++)      // начинаем поиск минимального элемента до конца
        {
            if (matrix[min][min] > matrix[j][j])        // если элемент меньше минимального
                min = j;    //то запоминаем его как минимальный
            compare++;
        }
        if (min > i)        // если необходима вставка (начальный элемент не минимальный)
        {
            temp = matrix[min][min];
            for (int j=i;j<min;j++)     // сдвигаем начало до минимального элемента на одну позицию
                matrix[j+1][j+1]=matrix[j][j];
            matrix[i][i] = temp;        // и вставляем минимальный элемент на первую позицию
        }
    }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2010, 07:39     Матрица, сортировка диагонали за алгоритмом вставки.
Посмотрите здесь:

Сортировка массива по возрастанию неоптимизированным алгоритмом вставки - C++
Я решаю задачу. Прошу помочь. Что не так в моём коде ? Условие задачи: Дается массив целых чисел. Отсортируйте массив по...

Косячит сортировка диагонали матрица - C++
матрицы:) Задача такая: &quot;Переставить столбцы матрицы так, чтобы элементы, расположенные на главной диагонали, образовывали неубывающую...

Сортировка индексов алгоритмом std::sort - C++
Есть два массива одинаковой размерности. В одном хоть что, во втором целые числа (индексы элементов первого массива). Нужно выполнить...

Отсортировать диагонали матрицы, параллельные главной, по убыванию элементов методом вставки - C++
Помогите исправить код, не могу доработать её. #include &lt;fstream&gt; #include &lt;iomanip&gt; #include &lt;iostream&gt; using namespace...

Сортировка методом центрированной вставки - C++
Доброго времени суток. Может у кого-нибудь есть пример на С++ этой сортировки? Буду рад поглядеть) В интернете не нашел примеров)

Сортировка методами вставки и выбора - C++
Сортировка метод вставки и выбора ! Помогите написать код программы для этих методов сортировки..... Буду очень благодарен) И много...

Сортировка стека методом вставки - C++
Дан стек реализованный статически. Неоходимо написать функцию вставки в него элемента с сохранением порядка элементов. То есть после...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.12.2010, 07:41     Матрица, сортировка диагонали за алгоритмом вставки. #2
А что такое
Цитата Сообщение от Stormfire Посмотреть сообщение
за алгоритмом вставки
?
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
30.12.2010, 07:46  [ТС]     Матрица, сортировка диагонали за алгоритмом вставки. #3
Цитата Сообщение от taras atavin Посмотреть сообщение
А что такое ?
Сортировка вставкой заключается в том, что сначала упорядочиваются два элемента массива. Затем делается вставка третьего элемента в соответствующее место по отношению к первым двум элементам. Четвертый элемент помещают в список из уже упорядоченных трех элементов. Этот процесс повторяется до тех пор, пока все элементы не будут упорядочены.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.12.2010, 08:18     Матрица, сортировка диагонали за алгоритмом вставки. #4
Объяснять мне, что такое сортировка вставкой, не надо. А вот что такое "за алгоритмом" не мешало бы и объяснить.
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
30.12.2010, 08:22  [ТС]     Матрица, сортировка диагонали за алгоритмом вставки. #5
Цитата Сообщение от taras atavin Посмотреть сообщение
Объяснять мне, что такое сортировка вставкой, не надо. А вот что такое "за алгоритмом" не мешало бы и объяснить.
Не стоит быть столь враждебно настроеным, я всего лишь скопировал вопрос из задания которое у меня есть.
Это значит, что главную диагональ надо отсортировать вставкой.
И как я вижу, Вы прекрасно поняли о чем речь.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.12.2010, 08:30     Матрица, сортировка диагонали за алгоритмом вставки. #6
Ты телепат? Нет? Тогда не наезжай. Было бы понятно, я бы не спрашивал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2010, 13:00     Матрица, сортировка диагонали за алгоритмом вставки.
Еще ссылки по теме:

Сортировка диагоналей матрицы методом вставки - C++
В общем нужно сортировать методом вставки диагонали, параллельные главной по убыванию Код сделан на половину, отлично сортирует...

Непонятно. Сортировка методом вставки + перегруженные функции. - C++
непонятно. помогите пожалуйста. #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; void sort(int n, int a); ...

Сортировка массивов методом пузырька, вставки и быстрым способом - C++
Помогите сделать три программы которые создают двумерные массивы рандомом и сортируют методом пузырька, вставки и быстрым способом.

Быстрая сортировка с внутренней досортировкой небольших частей методом вставки - C++
здравствуйте!!! интересует алгоритм задачи на быструю сортировку с внутренней досортировкой небольших частей методом вставки Sortlnsert0...

Матрица. Диагонали в прямоугольнике - C++
Задание дано так: Дана матрица с размерами A Максимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
30.12.2010, 13:00  [ТС]     Матрица, сортировка диагонали за алгоритмом вставки. #7
Нет, что Вы. Я не смею приходить на форум, просить помощи и еще наезжать на человека который потенциально может мне помочь.

Добавлено через 1 час 34 минуты
ап
Сегодня сдавать(

Добавлено через 2 часа 53 минуты
C++
1
2
3
4
5
 for (int j=i;j<min;j++)                                        
                         matrix[j+1][j+1]=matrix[j][j];
                        matrix[i][i] = temp;            
                }
        }
Вот этот кусок должен выглядеть как :
C++
1
2
3
4
5
6
    for (int j=min-1;j>=i;j--)  
                matrix[j+1][j+1]=matrix[j][j];
            matrix[i][i] = temp;        
        }
    }
    }
Yandex
Объявления
30.12.2010, 13:00     Матрица, сортировка диагонали за алгоритмом вставки.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru