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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
#1

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

14.12.2009, 00:22. Просмотров 503. Ответов 4
Метки нет (Все метки)

помогите, пожалуйста, с задачкой: заменить повторяющиеся элементы квадратной матрицы NхN (в ней нет 0 и 1) на 1, а неповторяющиеся элементы на 0.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2009, 00:22     заменить повторяющиеся элементы
Посмотрите здесь:

C++ алгоритм: заменить повторяющиеся элементы
C++ Дан одномерный массив, элементы которого - целые числа. Удалите из него все повторяющиеся элементы, оставив только их первые вхождения.
C++ Повторяющиеся элементы массива
C++ Удалить повторяющиеся элементы списка
C++ Исключить повторяющиеся элементы из списка
Повторяющиеся элементы в векторе C++
Исключить повторяющиеся символы, заменить их на пробелы. C++
C++ Нужно заменить повторяющиеся пробелы в тексте. Работает только для 1 строки
C++ Найти повторяющиеся в массиве элементы
Найти повторяющиеся элементы массива C++
Заменить повторяющиеся в матрице элементы нулями C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
14.12.2009, 07:07  [ТС]     заменить повторяющиеся элементы #2
помогите, плиз, написать(((
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
14.12.2009, 07:52     заменить повторяющиеся элементы #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for (int i=0;i<n;i++)
   for (int j=0;j<n;j++)
   {
      if (a[i][j]!=0 && a[i][j]!=1)
      {
         bool flag=false;  
         for(int i2=i; i2<n;i2++)
            for (int j2=j;j2<n;j2++)
            {            
               if (a[i][j]=a[i2][j2] && i!=i2 && j!=j2)
               {
                  flag=true;
                  a[i2][j2]=1;
               }
            }
         if (flag){a[i][j]=1;}
         else {a[i][j]=0;}
      }
  }
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
14.12.2009, 08:10     заменить повторяющиеся элементы #4
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 <time.h>
 
#define N 4
 
using namespace std;
 
int main()
{
    int arr[N][N];
    bool repeat;
    int row_find; 
    int col_find;
    srand (unsigned (time(0)));
 
    cout<<"before:"<<endl;
    for(int col=0;col<N;col++)
    {
        for(int row=0;row<N;row++)
        {
            arr[col][row]=rand()%7+2;
            cout<<" "<<arr[col][row];
        }
        cout<<endl;
    }
 
    // transform
    for(int row=0;row<N;row++)
        for(int col=0;col<N;col++)
        {
            if(arr[col][row]==0||arr[col][row]==1) continue;
 
            repeat=false;       row_find=row;       col_find=col;
 
            while(1)
            {
                ++col_find;
                if(col_find==N) {++row_find; if(row_find==N) break; col_find=0;}
                if (arr[col][row]==arr[col_find][row_find])
                {
                    repeat=true;
                    arr[col_find][row_find]=1;
                }   
 
            }           
            if(repeat==true) arr[col][row]=1; else arr[col][row]=0;
        }   
 
 
    cout<<"after:"<<endl;
    for(int col=0;col<N;col++)
    {
        for(int row=0;row<N;row++)
        {
            cout<<" "<<arr[col][row];
        }
        cout<<endl;
    }
 
 
    cout<<endl;
    system("PAUSE");
    return 0;
}
Добавлено через 5 минут
mamedovvms, я заменил ваш алгоритм своим, чего-то не всё он правильно делает. поторяющиеся элементы заменяет некоторые нулями
Nyuta
0 / 0 / 0
Регистрация: 26.11.2008
Сообщений: 33
14.12.2009, 13:48  [ТС]     заменить повторяющиеся элементы #5
TanT, спасибо большое)
Yandex
Объявления
14.12.2009, 13:48     заменить повторяющиеся элементы
Ответ Создать тему
Опции темы

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