• Регистрация
suzuki
suzuki0.00
н/д
  • Написать
  • Подписаться

Сортировка матрицы по неубыванию без функции sort

Математика и статистика 
23.04.2020

Здравствуйте, нужно выполнить сортировку элементов столбцов матрицы по неубыванию без функции sort. Пробовал делать через переменную, но не получилось ничего, хотя догадываюсь, что решение было правильным, просто я не разобрался в синтаксисе матлаба.

Теги

      23.04.2020

      Ответы

      • aBoomest
        aBoomest+215.55
        24.04.2020 08:00

        Код! В студию!

        • Ответ был удален
          • aBoomest
            aBoomest+215.55
            24.04.2020 21:26

            Алгоритмов много всяких.
            Bubble sort (влоб, безовсяких выкрутасов)

            a = [6; 5; 4; 3];
            Count = length(a);
            for jj = 2 : Count
                for ii = 2 : Count
                    if a(ii-1) > a(ii)
                        tmp = a(ii-1);
                        a(ii-1) = a(ii);
                        a(ii) = tmp;
                    end;
                end;
            end;
          • suzuki
            suzuki0.00
            25.04.2020 00:08

            Благодарю Вас за помощь

            • suzuki
              suzuki0.00
              25.04.2020 00:17

              У меня только один столбец сортируется почему-то.

            • Нгуен Ван Зунг
              Нгуен Ван Зунг+19.83
              24.04.2020 20:53

              clc; clear all;
              a = [2; 5; 1; 3; 4; 6];
              for m = 2 : length(a)
              for n = length(a) : -1 : m
              if a(n-1) > a(n)
              b = a(n-1);
              a(n-1) = a(n);
              a(n) = b;
              end
              end
              end
              a

              • Нгуен Ван Зунг
                Нгуен Ван Зунг+19.83
                24.04.2020 21:06

                clc; clear all;
                a = [2; 5; 1; 3; 4; 6];
                for m = 1 : length(a)
                for n = 1 : length(a) - m
                if a(n) > a(n + 1)
                b = a(n + 1);
                a(n + 1) = a(n);
                a(n) = b;
                end
                end
                end
                a

                • suzuki
                  suzuki0.00
                  25.04.2020 00:08

                  Благодарю Вас за помощь

                  • Нгуен Ван Зунг
                    Нгуен Ван Зунг+19.83
                    25.04.2020 12:35

                    clc; clear all;
                    a = [2 3 3; 5 2 5; 1 5 6; 3 3 4; 4 5 6; 6 2 3];
                    for i = 1:size(a,2)
                    for m = 1 : length(a)
                    for n = 1 : length(a) - m
                    if a(n,i) > a(n + 1,i)
                    b = a(n + 1,i);
                    a(n + 1,i) = a(n,i);
                    a(n,i) = b;
                    end
                    end
                    end
                    end
                    a

                    • Нгуен Ван Зунг
                      Нгуен Ван Зунг+19.83
                      25.04.2020 12:37

                      clc; clear all;
                      a = [2 3 3; 5 2 5; 1 5 6; 3 3 4; 4 5 6; 6 2 3];
                      for i = 1 : size(a,2)
                      for m = 2 : length(a)
                      for n = length(a) : -1 : m
                      if a(n-1,i) > a(n,i)
                      b = a(n-1,i);
                      a(n-1,i) = a(n,i);
                      a(n,i) = b;
                      end
                      end
                      end
                      end
                      a

                       

                • suzuki
                  suzuki0.00
                  25.04.2020 00:17

                  У меня только один столбец сортируется почему-то.

                  • Ответ был удален
                    • aBoomest
                      aBoomest+215.55
                      25.04.2020 10:36

                      М

                      clc; clear all;
                      a = [6; 5; 4; 3; -7; 3445; 6; 1;];
                      disp('Массив a');
                      disp(a);
                      b = BubbleSort(a);
                      disp('Массив b');
                      disp(b);
                      

                      результат

                      Массив a
                                 6
                                 5
                                 4
                                 3
                                -7
                              3445
                                 6
                                 1
                      
                      Массив b
                                -7
                                 1
                                 3
                                 4
                                 5
                                 6
                                 6
                              3445