Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Otar4ik
3 / 3 / 1
Регистрация: 20.10.2013
Сообщений: 94
1

Дублируется строка при сортировке матрицы

08.03.2015, 15:56. Просмотров 208. Ответов 0
Метки нет (Все метки)

Проблема возникает при сортировке матрицы по сумме элементов строк по убыванию,то есть если у меня на 2-ух строках одинаковая сумма но разные цифры,то 2-ая строка дублируется 1-ой..

Например получилось 2 строки до сортировки

18 19 20 21 22 23 24 = 147
15 17 20 15 20 30 30 = 147

После сортировки вместо 2-ой строки появляются цифры 1-ой.

18 19 20 21 22 23 24 = 147
18 19 20 21 22 23 24 = 147

На рисунке всё показано


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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <stdio.h>
#include <ctime>
 
using namespace std;
 
const size_t N=100;
const size_t M=100;
const int k=100;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i,j,t1,t2,n,m;
    int min,max;
    int nmin;
    int myArr[N][M];
    int myArr1[N]; 
    int myArr2[N];
    int sum[N]={0};
    setlocale(LC_ALL,"Russian");
    cout<<"Введите число устройств"<<endl;
    cin>>m;
    cout<<"Введите количество работ"<<endl;
    cin>>n;
    cout<<"Начальное значение диапазона"<<endl;
    cin>>t1;
    cout<<"Конечное значение диапазона"<<endl;
    cin>>t2;
     for (size_t i = 0; i < n; ++i)
    {
        for( size_t j = 0; j < m; ++j)
        {
  myArr[i][j] =t1+ rand() % (t2-t1);
    }
     }
    cout<<"Полученные данные : "<<endl;
    cout<<"T = ";
    for(size_t i=0; i<n; ++i)
    {
        for( size_t j = 0; j < m; ++j)
        cout<<setw(4)<<myArr[i][j];
        cout<<"\n";
        }
    for (i = 0; i < n; ++i)
    {
        for(j = 0; j < m; ++j)
        {
            sum[i]+=myArr[i][j];
        }
    }
        cout<<"T=";
            for(size_t i=0; i<n; i++)
    {
        for( size_t j = 0; j < m; j++)
        cout<<setw(4)<<myArr[i][j];
        cout << "  Сумма строки: ";
        cout<< sum[i] << endl;
}
           for (int i = 0; i < k; i++)
               myArr1[i] = sum[i];             
           for (int i = 0; i < k - 1; i++)
           {
               nmin = i; min = sum[i];
               for (int j = i + 1; j < k; j++)
                   if (sum[j] > min)
                   {
                       min = sum[j]; 
                       nmin = j;
                   }
               sum[nmin] = sum[i]; 
               sum[i] = min;
           }
           cout<<"Сумма элементов по возрастанию: "<<endl;
           for (int i = 0; i < n; i++)
               cout<<sum[i]<<endl;  
           for (int i = 0; i < k; i++)
               for (int j = 0; j < k; j++)
                   if (sum[i] == myArr1[j]) 
                   { 
                       myArr2[i] = j;  
                       break; 
                   }
         cout<<"Вывод матрицы по убыванию сумм в строках:"<<endl;
         for (int i = 0; i < n; i++)
           {
              for (int j = 0; j < m; j++)
                     cout<<setw(4)<<myArr[myArr2[i]][j];
               cout << "  Сумма строки: ";
        cout<< sum[i] << endl;
         }
    system("pause");
    return 0;
}
0
Миниатюры
Дублируется строка при сортировке матрицы  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2015, 15:56
Ответы с готовыми решениями:

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

При загрузке списка из файла дублируется последняя строка
Здравствуйте! Такая проблема: Выгружаю список в файл. С процедурой выгрузки...

При загрузке из файла дублируется запись
Добрый вечер! Не пойму в чем ошибка, дублируется запись при загрузке из файла!...

Ошибка при сортировке
При сортировке массива вылетает причем именно на последнем числе сортирую...

Ошибка при сортировке пузырьком
Видимо выход за предел массива, не пойму где ошибка #include &lt;iostream&gt;...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2015, 15:56

Многопоточность при сортировке массивов
Уважаемые, столкнулся с ситуацией, имею 3 массива, содержимое которых одинаково...

Ошибка при сортировке Шелла
Сортирую массив, вношу в него 46 элементов случайных значений в диапазоне от 1...

Не совсем корректный вывод при сортировке
В скриншоте видно что у меня с файла выводит имя цветка, цвет, количество...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru