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

Элементы матрицы расположенные в одной строке и в одном столбце с минимальным заменить на него - C++

30.12.2016, 14:01. Просмотров 239. Ответов 3
Метки нет (Все метки)

Дана квадратная матрица 5х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
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <conio.h>
using namespace std;
    
 
int main()
{
    srand(time(0));
int i, j, m(5),S(0),t(0);
const int P = 5;
const int C = 5;
int arr[R][C];
int *Arr = &arr[P][C];
for (i = 0; i < P; i++)
{
    for ( j = 0; j < C;j++)
    {
    arr[i][j] = rand()%10;
    cout << arr[i][j]<< " ";
}
cout << endl;
}
cout << endl;
 
//Ищем минимум
for ( i = 0; i < P; i++)
{
    for(j = 0; j < C; j++)
     if( m > arr[i][j])
     m = arr[i][j];
}
cout << " Min = "<< m;
cout<< endl;
 
 
//меняем минимум по массиву на минимум по стобцам и строкам
 int tmp(0);
for ( i = 0; i < P; i++)
{
    for(j = 0; j < C; j++)
     {
    if(tmp > arr[i][0])
    tmp = arr[i][0];
    
    /*tmp = m;
     swap(tmp,arr[i][j]);*/
      cout << arr[i][j] << " ";
     }
    cout << tmp;
     cout << endl;
}
/*cout << " Min = "<< m;
cout<< endl;
cout << " Mass: "<< endl;
cout <<arr[i][j];
cout<< endl;*/
 
_getch();
    return 0;
}
Добавлено через 59 минут
Т.е. Например в матрице(по всей матрице мин "1") и это минимальное находится во 2 строке и 3 столбце. Значит вся 2 строка и 3 столбец будут из "1". Типа Крест получается...
http://www.cyberforum.ru/cpp-beginners/thread280837.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2016, 14:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Элементы матрицы расположенные в одной строке и в одном столбце с минимальным заменить на него (C++):

В заданной матрице найти минимальный элемент и заменить на него все элементы в той же строке и столбце
Дана квадратная матрица А порядка n. Составить программу, которая находит...

Переставить в обратном порядке элементы матрицы, расположенные между последним и минимальным
В каждой строке матрицы переставить в обратном порядке элементы, расположенные...

Матрицы. Отрицательные элементы матрицы, расположенные выше главной диагонали, заменить на квадраты их значений
Отрицательные элементы матрицы (n=6; m=6), расположенные выше главной...

Заменить нулями элементы матрицы, расположенные слева и сверху от максимального
Дан массив х: array of integer, где 0 &lt; n, m &lt; 50. Найти в нем максимальный...

Все элементы столбца матрицы с минимальным элементом заменить максимальным
Дан массив D. Каких элементов больше: положительных или видъъемних? Все...

3
Fixer_84
825 / 635 / 645
Регистрация: 30.04.2016
Сообщений: 2,108
30.12.2016, 15:06 #2
Лучший ответ Сообщение было отмечено labelminsk как решение

Решение

labelminsk, я решил эту задачу так:

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
#include <iostream>
#include <cstdlib>
#include <climits>
#include <locale>
 
using namespace std;
 
int main()
{
    srand((unsigned)time(NULL));
    const int N = 5;
    int A[N][N], min, x, y;
    cout << "Случайная матрица:" << endl;
    min = INT_MAX;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            A[i][j] = 10 + (rand() % 90);
            if (A[i][j] < min)
            {
                min = A[i][j];
                x = i;
                y = j;
            }
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    for (int i = 0; i < N; i++)
    {
        A[x][i] = A[i][y] = min;
    }
    cout << "Искомая матрица:" << endl;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
    system("pause");
    return 0;
}
1
labelminsk
2 / 2 / 1
Регистрация: 13.10.2016
Сообщений: 34
30.12.2016, 23:28  [ТС] #3
Слава Богу за Вас...... Как-то мой мозг еще не натренирован для таких дел, у меня я так понял не было шансов.
Еще раз благодарю!

Подскажите что означает min = INT_MAX; // все числа массива? или минимальное из значений всего массива? ни где еще не встречал и не видел такое....
0
Fixer_84
825 / 635 / 645
Регистрация: 30.04.2016
Сообщений: 2,108
31.12.2016, 00:16 #4
labelminsk, здравствуйте.
C++
1
INT_MAX
- это максмальное возможное значение для типа данных integer. Это значение можно также заменить на A[0][0] для экономии памяти (то есть, min = A[0][0]).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2016, 00:16
Привет! Вот еще темы с решениями:

Если в строке или столбце матрицы только одна единица, то заменить ее нулем
задача: Дана матрица,заполненная нулями и еденицами.Если в строке или столбце...

Элементы матрицы, которые лежат ниже главной диагонали, заменить минимальным элементом
Для матрицы A5 найти минимальный элемент. Элементы матрицы которые лежат ниже...

Если минимальный элемент матрицы стоит в первой строке, то элементы, стоящие в строке за ним, заменить нулями
Задана матрица С(5,5). Если минимальный элемент стоит в первой строке, то все...

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


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

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

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