Форум программистов, компьютерный форум CyberForum.ru

Двумерный массив с неповторяющимися элементами - C++

Восстановить пароль Регистрация
 
Pakowski398
2 / 2 / 0
Регистрация: 01.10.2016
Сообщений: 31
11.11.2016, 22:45     Двумерный массив с неповторяющимися элементами #1
Добрый вечер! Столкнулся с проблемкой, нужна помощь. Цель задачи: составить программу, которая найдет в двумерном массиве минимальный элемент и заменит все элементы в этих строке и столбце на этот элемент (минимальный во всем массиве), например есть элемент во 2 строке и в 5 столбце. Все элементы этого "креста" должны быть заменены на минимальный элемент. Элементы в массиве обязательно не должны повторяться. Так вот проблема в том, что нужно сделать так, чтобы элементы в массиве не повторялись (это главная проблема). Если вам не лень, то можете и "крест" минимального элемента сделать (не обязательно).

Прошу составлять программу по такому типу, как сделано у меня (без лишних команд), поскольку "for", "if" и т.д. хватит.

srand(time(NULL)) буду использовать позже.


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
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n=6;
    const int m=6;
    int min, k=0;
    int A[n][m];
    int i,j;
    for(i=0; i<n; i++)
        {
            for(j=0; j<m; j++)
        
                {
                    A[i][j]=rand()%51-20;
                    cout<<setw(3)<<A[i][j];
                }
    
            cout<<endl;
        }   
    min=A[0][0];
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
            if (A[i][j]<min) min=A[i][j];
    cout<<"\nmin="<<min;
    
 
    _gettch();
    return 0;
}
Добавлено через 5 часов 48 минут
Ребят, хелп.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2016, 22:45     Двумерный массив с неповторяющимися элементами
Посмотрите здесь:

Определить количество столбцов с неповторяющимися элементами в двумерном массиве C++
C++ Заполнить массив неповторяющимися элементами
заполнить двумерный массив элементами в соответствии с рисунком C++
Двумерный массив с уникальными элементами в столбце C++
Двумерный массив с уникальными элементами C++
C++ Заполнить двумерный массив неповторяющимися числами
Двумерный массив. Найти номера столбцов с отрицательными элементами и отобразить их на экране C++
Множество с неповторяющимися элементами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4263 / 3694 / 1243
Регистрация: 14.04.2014
Сообщений: 14,474
12.11.2016, 11:50     Двумерный массив с неповторяющимися элементами #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Pakowski398 Посмотреть сообщение
Прошу составлять программу по такому типу, как сделано у меня (без лишних команд)
Не усложнить программу, но результат получить. Как ты это себе представляешь?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    const int n=6;
    const int m=6;
    int min, k=0;
    int A[n][m];
    int i,j;
    
    srand(time(NULL));
    
    int B[51], x = -20;
    for (i = 0; i < 51; ++i) B[i] = x++;
    for (i = 50; i > 0; --i) swap(B[i], B[rand() % (i + 1)]);
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
            A[i][j] = B[i * n + j];
                    
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
            cout<<setw(3)<<A[i][j];
        cout<<endl;
    }
Добавлено через 2 часа 6 минут
Цитата Сообщение от Pakowski398
Если вам не тяжело, могли бы вы объяснить за что отвечает каждая строка в написанном ранее вами коде?
Идея простая: заполнить массив числами из интервала [-20;30], всего 51 число без повторов, и перемешать.
Первый цикл заполняет B, второй перемешивает так, как это делает функция shuffle() из <algorithm>. Просто числа меняются местами случайным образом. А в конце часть массива B переносится в A. Можно сразу в A делать, если интервал уменьшить.
Yandex
Объявления
12.11.2016, 11:50     Двумерный массив с неповторяющимися элементами
Ответ Создать тему
Опции темы

Текущее время: 23:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru