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

Шаблонная функция для сортировки матрицы по возрастанию элементов хар. столбца - C++

Восстановить пароль Регистрация
 
Maximbl4
0 / 0 / 0
Регистрация: 11.06.2012
Сообщений: 40
10.02.2013, 18:03     Шаблонная функция для сортировки матрицы по возрастанию элементов хар. столбца #1
Написать функцию-шаблон , упорядочивающую строки в матрице по возрастанию
элементов характеристического столбца. Элементы характеристического столбца
представляют собой максимальный элемент в строке матрицы.

Как я понял надо найти этот столбец, это я сделал, но вот в нем присутствуют нули, и при обмене строками возникает исключение, что я делаю не так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
int A, B;  // А - Кол-во строк, B - кол-во столбцов
template<class T>
T SortLines(T Matrix) {
  // Для начала найдём матрицу с максимальными элементами
  int* tmpmat;
  int* indmat;
  tmpmat = new int[A];
  indmat = new int[A];
  int max;
  cout<<"Характеристический столбец ( в виде строки ):"<<endl;
  cout<<"___________________________________"<<endl;
  for (int j = 0; j < A; j++) {
    max = Matrix[j][0];
    for (int i = 0; i < A; i++) {
      if (max < Matrix[j][i]) {
        max = Matrix[j][i];
        tmpmat[j] = max;
 
      }
 
    }
 
    cout << tmpmat[j] << " ";
  }
  cout<<endl<<endl;
  max = tmpmat[0];
  int fi;
  int *ptr;
  for (int c = 0; c < A; c++) { // А - Строки
 
    for (int j = 0; j < A; j++) { // А -
      if (max < tmpmat[j]) {
        max = tmpmat[j];
        fi = j;
      }
      tmpmat[j] = 0;
    }
    for (int i = 0; i < A; i++) {
      ptr = Matrix[fi];              //Исключение возникает
      Matrix[fi] = Matrix[c];
      Matrix[c] = ptr;
    }
  }
  // *** Вывод матрицы ***
  for (int i=0; i < A; i++) {
    for (int j=0; j < B; j++) {
      cout<<Matrix[i][j]<<" ";
    }
      cout<<endl;
 
  }
 
 
  getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2013, 18:03     Шаблонная функция для сортировки матрицы по возрастанию элементов хар. столбца
Посмотрите здесь:

C++ Упорядочить столбцы матрицы по не возрастанию значений наименьших элементов столбца
C++ Для заданной матрицы размера NхN найти такие k и n, что сумма элементов k- столбца матрицы совпадает с суммой элементов n- го строки
Для каждого столбца матрицы найти произведение его элементов. C++
C++ Для матрицы найти такие k и n, что сумма элементов k-столбца совпадает с суммой элементов n-й строки
C++ Шаблонная функция вывода для любого stl контейнера
C++ Шаблонная функция для чтения целых чисел, дробных, строк из файла
Для матрицы А(4 строки ,4 столбца) сформировать одномерный массив B из 4 элементов C++
C++ Шаблонная функция сортировки двумерного массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru