Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 24
1

Удаления из исходной матрицы строки и столбца, на пересечении которых расположен элемент с min по модулю значением

26.11.2017, 18:07. Показов 2337. Ответов 5
Метки нет (Все метки)

Из матрицы размером N x M получить матрицу размером (N–1) x (M–1) путем удаления из исходной матрицы строки и столбца, на пересечении которых расположен элемент с наименьшим по модулю значением.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2017, 18:07
Ответы с готовыми решениями:

Переставить строки и столбцы матрицы так, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца
Задана матрица размером n*m. Найти максимальный по модулю элемент матрицы. Переставить строки и...

Переставить строки и столбцы матрицы чтобы максимальный по модулю элемент был расположен на пересечении К - той строки и К - того столбца.
Дана матрица А(nxn). Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы...

Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении 1-й строки и 1-го столбца
Помогите решить задачку в DELPHI Задана матрица Am×n . Найти максимальный по модулю элемент...

Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца.
задана матрица размером M x N. Найти максимальный по модулю элемент матрицы.Переставить строки и...

5
Nishen
26.11.2017, 18:17
  #2

Не по теме:

А ты что, один на форуме, что позволяешь себе темы в виде Caps Lock?

0
1473 / 937 / 810
Регистрация: 30.04.2016
Сообщений: 3,255
26.11.2017, 18:36 3
informatik 3000, здравствуйте! Во ваша программа:

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
#include <bits/stdc++.h>
 
using namespace std;
 
void DeleteRow(int** A, int k, int N, int M)
{
    for (int i = k; i < N - 1; i++)
    {
        for (int j = 0; j < M; j++)
        {
            A[i][j] = A[i+1][j];
        }
    }
}
 
void DeleteColumn(int** A, int k, int N, int M)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = k; j < M - 1; j++)
        {
            A[i][j] = A[i][j+1];
        }
    }
}
 
void MatrixInput(int** A, int N, int M)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            cin >> A[i][j];
        }
    }
}
 
void MatrixOutput(int** A, int N, int M)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
}
 
int main()
{
    int N, M, x, y, min;
    cout << "Enter a matrix size:" << 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 << "Enter a matrix:" << endl;
    MatrixInput(A, N, M);
    min = INT_MAX;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            if (abs(A[i][j] < min))
            {
                min = abs(A[i][j]);
                x = i;
                y = j;
            }
        }
    }
    cout << "Target info:" << "\n";
    cout << "Found element: " << min << "\n";
    cout << "Row: " << x + 1 << "\n";
    cout << "Column: " << y + 1 << "\n";
 
    DeleteRow(A, x, N, M);
    DeleteColumn(A, y, N, M);
 
    cout << "Matrtix after the delete:" << endl;
    MatrixOutput(A, N - 1, M - 1);
    for (int i = 0; i < N; i++)
    {
        delete [] A[i];
    }
    delete [] A;
    system("pause");
    return 0;
}
1
502 / 314 / 236
Регистрация: 18.02.2013
Сообщений: 754
26.11.2017, 18:46 4
Так лучшее ко будет
C++
1
2
3
4
5
6
7
8
9
10
void DeleteRow(int** A, int k, int N, int M)
{
    for (int i = k; i < N - 1; i++)
    {
      //  for (int j = 0; j < M; j++)
      //  {
            A[i] = A[i+1];
       // }
    }
}
0
1473 / 937 / 810
Регистрация: 30.04.2016
Сообщений: 3,255
26.11.2017, 18:49 5
Цитата Сообщение от olya7 Посмотреть сообщение
Так лучшее ко будет
здравствуйте! Спасибо за ваше замечание. Да, для строк можно код так укоротить.
0
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 24
27.11.2017, 10:20  [ТС] 6
Цитата Сообщение от Fixer_84 Посмотреть сообщение
informatik 3000, здравствуйте! Во ваша программа:

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
#include <bits/stdc++.h>
 
using namespace std;
 
void DeleteRow(int** A, int k, int N, int M)
{
    for (int i = k; i < N - 1; i++)
    {
        for (int j = 0; j < M; j++)
        {
            A[i][j] = A[i+1][j];
        }
    }
}
 
void DeleteColumn(int** A, int k, int N, int M)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = k; j < M - 1; j++)
        {
            A[i][j] = A[i][j+1];
        }
    }
}
 
void MatrixInput(int** A, int N, int M)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            cin >> A[i][j];
        }
    }
}
 
void MatrixOutput(int** A, int N, int M)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
}
 
int main()
{
    int N, M, x, y, min;
    cout << "Enter a matrix size:" << 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 << "Enter a matrix:" << endl;
    MatrixInput(A, N, M);
    min = INT_MAX;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            if (abs(A[i][j] < min))
            {
                min = abs(A[i][j]);
                x = i;
                y = j;
            }
        }
    }
    cout << "Target info:" << "\n";
    cout << "Found element: " << min << "\n";
    cout << "Row: " << x + 1 << "\n";
    cout << "Column: " << y + 1 << "\n";
 
    DeleteRow(A, x, N, M);
    DeleteColumn(A, y, N, M);
 
    cout << "Matrtix after the delete:" << endl;
    MatrixOutput(A, N - 1, M - 1);
    for (int i = 0; i < N; i++)
    {
        delete [] A[i];
    }
    delete [] A;
    system("pause");
    return 0;
}
Спасибо большое

Добавлено через 18 секунд
Цитата Сообщение от olya7 Посмотреть сообщение
Так лучшее ко будет
C++
1
2
3
4
5
6
7
8
9
10
void DeleteRow(int** A, int k, int N, int M)
{
    for (int i = k; i < N - 1; i++)
    {
      //  for (int j = 0; j < M; j++)
      //  {
            A[i] = A[i+1];
       // }
    }
}
Спасибо )))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2017, 10:20

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

Вывод номера строки и столбца матрицы на пересечении которых расположен наибольший элемент
1.Дана матрица Z размером mхn. Составить процедуру нахождения и вывода номера строки и номера...

Напечатать суммы элементов строки и столбца, на пересечении которых расположен минимальный элемент матрицы
Есть у кого-нибудь код или готовый проект на Delphi 7? Добавлено через 28 минут Напечатать...

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


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

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

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