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

Сортировка массива. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Tumka
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 5
06.12.2012, 20:22     Сортировка массива. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов #1
Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов.
Подскажите, что не так.
Максимальные элементы выводит но массив не сортирует либо не выводит отсортированный.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <iostream.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
#include <stdio.h>
#include <algorithm>
 
using namespace std;
 
//19. Дана матрица размером NxM.
//Упорядочить ее строки по возрастанию их наибольших элементов.
 
 
 
// функция ввывода
void print(int **arr, int nrow, int ncol)
{
    for(int i = 0; i < nrow; i++)
    {
        for(int j = 0; j < ncol; j++)
            cout << arr[i][j] << "\t";
        cout << endl;
    }
}
// функция ввывода
//=====================================
//функция сортировки
 void processor (int **arr, int nrow, int ncol)
{
    int i,j,s,k;
   double  mas[100];
 
int max=0;
for(int i=0;i<ncol;i++)
  {
      for(int j=0;j<nrow;j++)
      {
            if(arr[i][j]>max) max=arr[i][j];
        }
         for(int k = 0; k < nrow; k++)
       { mas[k]=max;
        }
        cout<<max<<" ";
                max=0;
    }
 
 
            for ( k = 0; k < nrow+1; k++)  // сравниваем максимальные элементы строк
      {
      if ( mas[k] < mas[k+1])
               {
                    int temp;
                     temp = *arr[j];  /* сохранить значение по адресу x */
                     *arr[j] = *arr[j+1];    /* поместить y в x */
                     *arr[j+1] = temp;  /* поместить x в y */
 
            }
            }
            cout<<" \n";
 
 
 
 
          //double mas[Nmax][Nmax];
          //int N=5,M=8;
 
         //for (int i=0; i<N; i++)
        //sort(mas+i, mas+i+M);
 
 
 
 
    system("Pause");
}
//функция сортировки
//=====================================
 
int main()
{
SetConsoleOutputCP(1251);
    setlocale(LC_ALL,"Russian");
    srand(unsigned (time(NULL)));
    int nrow, ncol, n1 = 0;
    int i, j;
 
    cout << "Введите кол-во строк: ";
    cin >> nrow;
    cout << endl << "Введите кол-во столбцов: ";
    cin >> ncol;
 
    int **arr = new int*[nrow];
    for (i = 0; i < nrow; i++)
    arr[i] = new int [ncol];
 
    cout << "Заполняем массив: " << endl << "1. Случайным образом" << endl << "2. Ввести вручную" << endl;
    cin >> n1;
 
        switch(n1)
            {
                case 1:
                    for(int i = 0; i < nrow; i++)
                        for(int j = 0; j < ncol; j++)
                            arr[i][j] = rand()%100;
                    cout << endl << "Сгенерированный массив: " << endl;
                    print(arr, nrow, ncol);
                    break;
 
                case 2:
                    cout << endl << "Введите эл-ты массива: " ;
                        for(int i = 0; i < nrow; i++)
                            for(int j = 0; j < ncol; j++)
                                cin >> arr[i][j];
                    cout << endl << "Введите сдвиг " << endl;
                    print(arr, nrow, ncol);
                    break;
 
                default :
                    cout << "Ошибка" << endl;
                    break;
            }
 
        cout << endl << endl << endl;
 
        processor(arr, nrow, ncol);
 
        print(arr, nrow, ncol);
 
        delete[]arr;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 20:22     Сортировка массива. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов
Посмотрите здесь:

[B]Дана целочисленная матрица n*m, n,m<=10.Упорядочить(переставить) строки матрицы по возрастанию количества положительных элементов в одной строк[/B] C++
C++ Многомерные массивы . Дана вещественная матрица размером 10х10. Упорядочить её строки по не убыванию суммы их элементов.
C++ Дана действительная матрица размером nxm
Дана действительная матрица размером n * m. Упорядочить (переставить) по возрастанию сумм элементов строк C++
дана матрица размером NxM .Упорядочить ее строки по возрастанию их первых элементо C++
Упорядочить строки двумерного массива по возрастанию их наибольших элементов. C++
Задана матрица размером NxM. Найти сумму всех элементов, расположенных выше строки с максимальным элементом C++
Упорядочить строки матрицы по возрастанию значений их наибольших элементов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
06.12.2012, 20:47     Сортировка массива. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов #2
повторная инициализация i j k
C++
1
2
3
4
5
6
7
8
9
void processor (int **arr, int nrow, int ncol)
{
    int i,j,s,k;
   double  mas[100];
 
int max=0;
for(int i=0;i<ncol;i++)
  {
      for(int j=0;j<nrow;j++)
Yandex
Объявления
06.12.2012, 20:47     Сортировка массива. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов
Ответ Создать тему

Метки
pascal сортировка, pascal сортировка строк матрицы, pascal упорядочить строки матрицы, сортировка по возрастанию наибольших элементов, упорядочить строки матрицы по возрастанию
Опции темы

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