Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 110

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

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

Студворк — интернет-сервис помощи студентам
Помогите,пожалуйста,с кодом! Задание: Дана матрица А(n x n). Расположить строки матрицы по возрастанию сумм их элементов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2016, 09:17
Ответы с готовыми решениями:

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

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

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

6
 Аватар для lawr
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
12.10.2016, 12:15
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
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 110
13.10.2016, 18:30  [ТС]
А в С большие изменения будут в программе? Что меняется,не подскажете?
0
 Аватар для lawr
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
14.10.2016, 14:19
alenka77, iostream меняем на stdio.h и соответственно для ввода-вывода вместо cin-cout будут использоваться scanf()-printf(). а в остальном по идее все так же.
1
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 110
15.10.2016, 16:43  [ТС]
спасибо огромное! очень помогли
0
Заблокирован
15.10.2016, 19:35
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
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
15.10.2016, 20:40
Мне вот так нравится:
Кликните здесь для просмотра всего текста

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2016, 20:40
Помогаю со студенческими работами здесь

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

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

В матрице расположить строки по возрастанию сумм их элементов
В матрице расположить строки по возрастанию сумм их елементов. Язык &quot;С&quot; Вот моя программа: #include&lt;stdio.h&gt; ...

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru