Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с матрицами в С, Сортировка матрицы методом просеивания 
:(
    Опции темы
Entony54
Дата 8.12.2019, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.12.2019

Репутация: нет
Всего: нет



Ребята, помогите, пожалуйста, с задачей: Дана действительная матрица  размерности n*n. Проверить упорядочены ли элементы столбцов матрицы. Если нет, то упорядочить их в порядке возрастания методом просеивания. При работе не использовать процедуры или функции.
Вот сам метод просеивания для массива:
Код

for (i=0;i<=n-2;i++)
 if (A[i]>A[i+1])
 {
  r=A[i];
  A[i]=A[i+1];
  A[i+1]=r;
  j=i;
  while (A[j]<A[j-1]&&j>0)
  {
    r=A[j];
    A[j]=A[j-1];
    A[j-1]=r;
    j=j-1;
  }
}

Как его нужно переделать, чтобы он работал для матрицы?
PM MAIL   Вверх
kapbepucm
Дата 9.12.2019, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Код
#include <stdio.h>

#define n 4

void sort(int A[][n], const int column)
{
  int i, j, r;

  for (i=0;i<=n-2;i++)
   if (A[i][column]>A[i+1][column])
   {
    r=A[i][column];
    A[i][column]=A[i+1][column];
    A[i+1][column]=r;
    j=i;
    while (A[j][column]<A[j-1][column]&&j>0)
    {
      r=A[j][column];
      A[j][column]=A[j-1][column];
      A[j-1][column]=r;
      j=j-1;
    }
  }
}

int main(int argc, char *argv[])
{
  int row, column;
  int matrix[n][n] = {{34,56,-76,5},
                      {7888,33,0,-56},
                      {3,4,5,6},
                      {9,87,6,5}};

  for (column = 0; column < n; ++column)
    sort(matrix, column);

  for(row = 0; row < n; ++row)
  {
    for(column = 0; column < n; ++column)
      printf("%i; ", matrix[row][column]);
    printf("\n");
  }
}



--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Entony54
Дата 10.12.2019, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.12.2019

Репутация: нет
Всего: нет



Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1113 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.