0 / 0 / 0
Регистрация: 04.01.2017
Сообщений: 16
1

В заданной матрице поменять строку с минимальной суммой со строкой с максимальной суммой

04.01.2017, 17:14. Показов 1790. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите с кодом
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2017, 17:14
Ответы с готовыми решениями:

В двумерном N*K массиве целых чисел поменять строку с максимальной суммой элементов со строкой с минимальной суммой элементов.
Массив заполнять случайными числами, кроме случаев, когда это нецелесообразно (прогрессия,...

В целочисленной матрице поменять местами столбец с минимальной суммой со столбцом с максимальной суммой
Дана прямоугольная матрица nxm целых чисел (n,m<10 – ввод с клавиатуры, значения элементов массива...

В матрице найти строку с максимальной суммой элементов и поэлементно поменять ее с первой строкой
ПОМОГИТЕ РЕШИТЬ ЗАДАЧКУ-----Написать программу на языке С++. В программе предусмотреть диалог,...

Массив: В произвольно заданной матрице размера 4*6 определить строку с максимальной суммой элементов и столбец с минимальной суммой.
В произвольно заданной матрице размера 4*6 определить строку с максимальной суммой элементов и...

7
0 / 0 / 0
Регистрация: 04.01.2017
Сообщений: 16
05.01.2017, 01:17  [ТС] 3
не понимаю что ни так с кодом, помогите разобраться
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
#include <iostream>
#include <cmath>
#include <clocale>
#include <ctime>
#include <cstdlib>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
int main()
{
    setlocale(LC_ALL, "Rus");
    srand(time(0));
    int n, sum = 0, k, max = 0, min = 0;
    int i, j, temp;
    cout << "вв строки: ";
    cin >> n;
    cout << "вв столбцы ";
    cin >> k;
    int a[100][100];
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < k; j++)
        {
            a[i][j] = rand() % 20 - 10;
            sum += a[i][j];
            cout << a[i][j] << "\t";
        }
        cout << "\n";
    }
    for (i = 0; i < n; i++)
    {
        if (sum > max)
        {
            max = sum;
            max = i;
        }
    }
    {
        if (sum < min)
        {
            min = sum;
            min = i;
        }
    }
    for (j = 0; j < k; j++)
    {
        {
            temp = a[j][max];
            a[j][max] = a[i][min];
            a[i][min] = temp;
        }
    }
    cout << "\n";
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < k; j++)
        {
            cout << a[i][j] << "\t  ";
        }
        cout << endl;
    }
    return 0;
}
0
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
05.01.2017, 10:17 4
Дарья 2207, все не так с кодом... даже фигурные скобки криво расставлены, сомневаюсь, что так и задумано:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for ( i = 0; i<n; i++)
{
  if (sum>max)
  { 
    max = sum;
    max = i;
  }
}
 
{
  if (sum<min)
  {
    min = sum;
    min = i;
  }
}
1
0 / 0 / 0
Регистрация: 04.01.2017
Сообщений: 16
05.01.2017, 17:06  [ТС] 5
я поправила, но все равно не работает,я не понимаю, что ни так, помогите пожалуйста
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
#include <iostream>
#include <cmath>
#include <clocale>
#include <ctime>
#include <cstdlib>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
int main()
{
    setlocale(LC_ALL, "Rus");
    srand(time(0));
    int n, sum, max, min;
    int i, j, temp, k;
    cout << "вв строки ";
    cin >> n;
    cout << "вв столбцы: ";
    cin >> k;
    int a[100][100];
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < k; j++)
        {
            a[i][j] = rand() % 20 - 10;
            sum += a[i][j];
            cout << a[i][j] << "\t";
        }
        cout << "\n";
    }
    sum = 0;
    min = 0;
    max = 0;
    max = sum;
    min = sum;
    for (i = 0; i < n; i++)
    {
        if (sum > max)
        {
            max = sum;
            max = i;
        }
        if (sum < min)
        {
            min = sum;
            min = i;
        }
    }
    for (j = 0; j < k; j++)
    {
        temp = a[j][max];
        a[j][max] = a[i][min];
        a[i][min] = temp;
    }
    cout << "\n";
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < k; j++)
        {
            cout << a[i][j] << "\t  ";
        }
        cout << endl;
    }
    return 0;
}
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
05.01.2017, 18:26 6
Дарья 2207, здравствуйте! Я решил вашу задачу так:

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
#include <iostream>
#include <cstdlib>
#include <locale>
#include <climits>
 
using namespace std;
 
int main()
{
    srand((unsigned)time(NULL));
    int N, M, min, max, sum, x, y;
    cout << "Введите размеры матрицы:" << endl;
    cout << "N = ";
    cin >> N;
    cout << "M = ";
    cin >> M;
    int** A = new int*[N];
    for (int i = 0; i < N; i++)
    {
        A[i] = new int[M];
    }
    cout << "Исходная матрица:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            A[i][j] = -99 + (rand() % 199);
            cout.width(3);
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    min = INT_MAX;
    max = INT_MIN;
    for (int i = 0; i < N; i++)
    {
        sum = 0;
        for (int j = 0; j < M; j++)
        {
            sum += A[i][j];
        }
        if (sum < min)
        {
            min = sum;
            x = i;
        }
        if (sum > max)
        {
            max = sum;
            y = i;
        }
    }
    for (int j = 0; j < M; j++)
    {
        swap(A[x][j], A[y][j]);
    }
    cout << "Матрица после обмена:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            cout.width(3);
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    for (int i = 0; i < N; i++)
    {
        delete[] A[i];
    }
    system("pause");
    return 0;
}
0
Модератор
Эксперт С++
13585 / 10819 / 6438
Регистрация: 18.12.2011
Сообщений: 28,849
05.01.2017, 19:44 7
Дарья 2207, только за последние сутки было 2 аналогичные темы:
Поменять местами строки с максимальным и минимальным элементами
https://www.cyberforum.ru/cpp-... 93975.html
И посмотрите, сколько ссылок есть внизу страницы.
Ознакомьтесь, наконец, с
Рекомендации по созданию тем
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
05.01.2017, 22:38 8
 Комментарий модератора 
Дарья 2207, прекратите дублировать темы.
Это запрещено правилами форума (см. пункт 5.5).

.
0
05.01.2017, 22:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2017, 22:38
Помогаю со студенческими работами здесь

Поменять местами строку матрицы с максимальной суммой со строкой с минимальной
Поменять местами строку с максимальной суммой со строкой с минимальной. Добавлено через 56 минут...

В двумерном массиве поменять местами строку с максимальной суммой с минимальной суммой
Нам задали написать 2 различные проги для такого задания В двумерном массиве поменять местами...

В матрице поменять местами столбец с минимальной суммой со столбцом с максимальной
Дана прямоугольная матрица n x m целых чисел. Поменять местами столбец с минимальной суммой со...

В матрице поменять местами строки с максимальной и минимальной суммой элементов
Помогите плиз. Заданы 2 матрицы действительных чисел размером 5х6 и 8х7. В матрице поменять...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru