Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2018, 20:03   #1
liberty_
Новичок
Джуниор
 
Регистрация: 06.11.2018
Сообщений: 6
По умолчанию сортировка массива (на Си)

Дан двумерный массив. Получилась сортировка пузырьком, но надо,чтоб в первом сортировались по возрастанию только элементы с чётным индексом, а во втором по убыванию только элементы с нечётными индексами. Что для этого надо исправить, подскажите, пожалуйста.
Код:


   for ( k = 0; k < SIZE; k=k++)
   {
        for ( l = 0; l < SIZE; l=l++)
        {
            for ( i = 0; i < SIZE; i++)
            {
                for ( j = 0; j < SIZE; j++)
                {
                    if(i+1 == SIZE &&  j+1 == SIZE)
                    {
                        continue;
                    }
                    else
                    {
                        if(j+1 == SIZE && a[i][j] > a[i+1][0])
                        {
                             t = a[i][j];
                            a[i][j] = a[i+1][0];
                            a[i+1][0] = t;
                        }
                        else
                        {
                            if(a[i][j] > a[i][j+1])
                            {
                                int p = a[i][j];
                                a[i][j] = a[i][j+1];
                                a[i][j+1] = p;
                            }
                        }
                    }
                }
            }
        }
   }

  printf("\n");
 printf( "Отсортированный массив по возрастанию :\n" );

   for (i=0; i< SIZE; ++i){
      for (j=0; j< SIZE; ++j) {
          printf( "%4d ", a[i][j]); }
    printf("\n"); }




   for ( k = 0; k < SIZE; k++)
   {
        for ( l = 0; l < SIZE; l++)
        {
            for ( i = 0; i < SIZE; i++)
            {
                for ( j = 0; j < SIZE; j++)
                {
                    if(i+1 == SIZE &&  j+1 == SIZE)
                    {
                        continue;
                    }
                    else
                    {
                        if(j+1 == SIZE && a[i][j] > a[i+1][0])
                        {
                             t = a[i][j];
                            a[i][j] = a[i+1][0];
                            a[i+1][0] = t;
                        }
                        else
                        {
                            if(a[i][j] < a[i][j+1])
                            {
                                int p = a[i][j];
                                a[i][j] = a[i][j+1];
                                a[i][j+1] = p;
                            }
                        }
                    }
                }
            }
        }
   }


  printf("\n");
 printf( "Отсортированный массив по убыванию:\n" );

   for (i=0; i< SIZE; ++i){
      for (j=0; j< SIZE; ++j) {
          printf( "%4d ", a[i][j]); }
    printf("\n"); }
liberty_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
Сортировка массива Pot5 Паскаль, Turbo Pascal, PascalABC.NET 1 11.12.2010 21:52
Сортировка массива...? Roberto Помощь студентам 2 11.04.2008 13:32
Сортировка массива RIO Помощь студентам 1 05.04.2008 17:39