Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
alenka77
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 50
#1

Расположить строки матрицы по возрастанию сумм их элементов - C++

12.10.2016, 09:17. Просмотров 510. Ответов 6
Метки нет (Все метки)

Помогите,пожалуйста,с кодом! Задание: Дана матрица А(n x n). Расположить строки матрицы по возрастанию сумм их элементов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2016, 09:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Расположить строки матрицы по возрастанию сумм их элементов (C++):

Расположить столбцы матрицы по возрастанию сумм модулей их отрицательных нечетных элементов
Дано целочисленную прямоугольную матрицу. 1). Расположите колонки заданной...

Расположить строки матрицы в порядке невозрастания сумм модулей нечетных элементов строк
Дана матрица действительных чисел размера m x n. Переформировать матрицу таким...

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

Расположить строки матрицы в порядке невозрастания сумм модулей нечетных элементов строк
Здравствуйте. Задача: Дана матрица действительных чисел размера n x m....

Отсортировать строки матрицы по возрастанию сумм положительных элементов
Отсортировать строки матрицы по возрастанию сумм положительных элементов. ...

Отсортировать строки матрицы по возрастанию сумм положительных элементов
Отсортировать строки матрицы по возрастанию сумм положительных элементов.

6
lawr
372 / 266 / 478
Регистрация: 09.05.2014
Сообщений: 769
12.10.2016, 12:15 #2
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
#include <iostream>
int main(){
    const int n=5;
    int A[n][n], Sum[n];
    for (int i=0; i<n; i++)
    {
        Sum[i]=0;
        for (int j=0; j<n; j++)
        {
            std::cin>>A[i][j];
            Sum[i]+=A[i][j];
        }
    }
    for (int i=0; i<n-1; i++)
        for (int k=i+1; k<n; k++)
            if (Sum[i]>Sum[k]){
                for (int j=0; j<n; j++){
                    int temp=A[i][j];
                    A[i][j]=A[k][j];
                    A[k][j]=temp;
                }
                int temp=Sum[i];
                Sum[i]=Sum[k];
                Sum[k]=temp;
            }
    std::cout<<"modified array:";
    for (int i=0; i<n; i++){
        std::cout<<std::endl;
        for (int j=0; j<n; j++)
            std::cout<<A[i][j]<<' ';
    }
}
1
alenka77
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 50
13.10.2016, 18:30  [ТС] #3
А в С большие изменения будут в программе? Что меняется,не подскажете?
0
lawr
372 / 266 / 478
Регистрация: 09.05.2014
Сообщений: 769
14.10.2016, 14:19 #4
alenka77, iostream меняем на stdio.h и соответственно для ввода-вывода вместо cin-cout будут использоваться scanf()-printf(). а в остальном по идее все так же.
1
alenka77
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 50
15.10.2016, 16:43  [ТС] #5
спасибо огромное! очень помогли
0
Dsasdf
Заблокирован
15.10.2016, 19:35 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 int init[3][5] = {
        {1, 2, 3, 4, 5},
        {1, 2, 3, 4, 5},
        {1, 2, 40, 4, 5},
    };
    std::tuple<int, int> sum[3];
    vector<int> orig(*init, *init + 15);
    for (int i = 0; i < 3; i++)
        sum[i] = std::make_tuple(i, std::accumulate(*init + 5 * i, *init + 5 * i + 5, 0));
    std::sort(sum, sum + 3, [](const std::tuple<int, int> & t1, const std::tuple<int, int> &t2) {
        return std::get<1>(t1) < std::get<1>(t2);
    });
    for (int i = 0; i < 3; i++) {
        std::copy(orig.begin() + std::get<0>(sum[i])*5, orig.begin() + std::get<0>(sum[i])*5 + 5, *init + 5 * i);
    }
    //out 
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 5; j++)
            cout << init[i][j] << " ";
        cout << endl;
    }
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7002 / 3294 / 448
Регистрация: 04.12.2011
Сообщений: 9,113
Записей в блоге: 5
15.10.2016, 20:40 #7
Мне вот так нравится:
Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <ctime> 
#include <cstdlib>
using namespace std;
 
int summ(int * a, int n)
{
int i(0), s(0);
for( ; i<n; ++i )s+=a[i];
return s;
}
 
int main(int argc, char* argv[])
{
int i=0, j=0, n=5, **matrix;
 
matrix= new int*[n];
 
for ( i=0; i<n; ++i)matrix[i]=new int[5];
 
srand((int)time(0));
 
for( i=0; i<n; ++i)
for( j=0; j<n; ++j)
matrix[i][j]=rand()%(2*n);
 
for( i=0; i<n; ++i)
    {
        for( j=0; j<n; ++j)
        {
        cout.width(3);
        cout<<matrix[i][j]<<'\t';
        }
        cout<<"\tsum= "<<summ(matrix[i], n)<<endl;
 
    }
int *temp;
for ( i=0; i<n-1; i++){
for ( j=i+1; j<n; j++){
            if (summ(matrix[i], n) > summ(matrix[j], n))
            {                  
                   temp=matrix[i];
                   matrix[i]=matrix[j];
                   matrix[j]=temp;
            }
            
                               
}
}
    cout<<endl;
for( i=0; i<n; ++i)
    {
        for( j=0; j<n; ++j)
        {
        cout.width(3);
        cout<<matrix[i][j]<<'\t';
        }
        cout<<"\tsum= "<<summ(matrix[i], n)<<endl;
 
    }
 
cout<<endl;
 
for ( i=0; i<n; ++i)delete[] matrix[i];
delete [] matrix;
 
system("pause");
return 0;
}
0
15.10.2016, 20:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2016, 20:40
Привет! Вот еще темы с решениями:

Внешняя сортировка файла: строки матрицы расположить по возрастанию элементов побочной диагонали
работает, но что то с ней не так, подскажите В текстовом файле задана...

Строки матрицы расположить по неубыванию их поэлементных сумм
Здравствуйте. Помогите, пожалуйста с задачей. Дана матрица из N строк и М...

Упорядочивание строк матрицы по возрастанию значений сумм их элементов
Всем привет! на С++ пишу не больше года и то, т.к. еще на 1-м курсе, то и двух...

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов
Дана матрица Х. Упорядочить элементы строк матрицы по возрастанию, а сами...


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

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

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