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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Напишите программу, которая выводит все числа персвой сотни, оканчиающееся на 2 http://www.cyberforum.ru/cpp-beginners/thread721953.html
Всем привет, Напишите пожалуйста программу, которая выводит все числа первой сотни, оканчивающееся на 2. BORLAND TURBO C++ PROFESSIONAL. П.С. Ccори, если не там создал - новичек, помогите пожалуйста!
C++ Вывод изображения .jpg на экран консоли C++ Вывод изображения .jpg на экран консоли C++ Помогите пожалуйста. Мне даже в голову ничего не приходит http://www.cyberforum.ru/cpp-beginners/thread721951.html
Перекрестное использование .h файлов и классов C++
Добрый вечер! Никак не могу придумать запрос, по которому гуглить, поэтому обращаюсь к вам за помощью. Суть проблемы такова. Имеются два .h файла с объявленными классами. Для определенности A.h и B.h, и классы А и В соответственно. Класс А должен использовать класс В и наоборот, класс В должен использовать класс В. Как реализовать подобное? Если без обобщений, то сейчас есть два класса:...
C++ Вычислить сумму
Вычислить сумму 2/3+4/5+6/7+⋯+2n/(2n+1)
C++ Матрица, чтение из файла http://www.cyberforum.ru/cpp-beginners/thread721928.html
Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный Вот, есть код, надо организовать чтение из файла (матрицы или еще чего-нибудь - не важно, главное чтобы оно было): #include <iostream> using namespace std; int main() {
C++ Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент bool bFlag; for (int i=0; i < M; i++){ bFlag=false; for (int j=0; j < N; j++){ if(A<0){ bFlag=true; break; } } if (bFlag){ for (int j=0; j < N; j++) подробнее

Показать сообщение отдельно
Tumka
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 5
06.12.2012, 20:22     Сортировка массива. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов
Дана матрица размером 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru