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

Определить максимальное из чисел, встречающихся в заданной матрице более одного раза - C++

Восстановить пароль Регистрация
 
BAOlOEJlbLLlUK
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 40
10.01.2014, 00:23     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза #1
Здравствуйте!Помогите пожалуйста решить задачу.
Дана целочисленная матрица. Определить максимальное из чисел,
встречающихся в заданной матрице более одного раза. В программе использовать указатели.
Заранее благодарен!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 00:23     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза
Посмотрите здесь:

C++ максимальное из чисел, встречающихся в заданной матрице более одного раза.(исправить 1 ошибку)
Найти максимальное из чисел встречающихся в матрице более одного раза. Сделать используя указатели и классы C++
C++ Максимальное из чисел, встречающихся в заданной матрице более одного раза
C++ Дана произвольная матрица, определить: Максимальное из чисел, встречающихся в заданной матрице более одного раза
Определить максимальное из значений, встречающихся в заданной матрице более одного раза C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Algoritmer
 Аватар для Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 477
Записей в блоге: 1
10.01.2014, 00:49     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза #2
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
#include <iostream>
using namespace std;
 
int main() {
    int **matr;
  int rowCount, colCount;
  cout<<"input rowCount: ";
  cin>>rowCount;
 cout<<"input colCount: ";
  cin>>colCount;
  matr=new int*[rowCount];
  cout<<"input matrix: \n";
  for(int i=0;i<rowCount;i++)
  {
      matr[i]=new int[colCount];
      for(int j=0;j<colCount;j++) cin>>matr[i][j];
  }
  //теперь определим повторы
  int maxCh=matr[0][0];
  bool notin=true;
  for(int i=0;i<rowCount;i++)
  for(int k=0;k<colCount-1;k++)
  {  
      int tek=matr[i][k];
      for(int j=k+1;j<colCount;j++)
      {
         if(tek==matr[i][j]) if(notin || maxCh<tek) {maxCh=tek; notin=false; break;}
      }
  }
  cout<<maxCh;
    return 0;
}
примерно так. могут быть ошибки, сильно не проверял...
BAOlOEJlbLLlUK
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 40
10.01.2014, 01:11  [ТС]     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза #3
rowCount, colCount что это за переменные?

Добавлено через 3 минуты
ясно это размерность,но после ввода матрицы ничего не происходит

Добавлено через 4 минуты
тоесть оно выводит всегда 1
Algoritmer
 Аватар для Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 477
Записей в блоге: 1
10.01.2014, 09:51     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза #4
Цитата Сообщение от BAOlOEJlbLLlUK Посмотреть сообщение
тоесть оно выводит всегда 1
Что конкретно вводишь?
приведи матрицу которую вводишь
BAOlOEJlbLLlUK
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 40
10.01.2014, 14:21  [ТС]     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза #5
ну 3 на 3
1 2 3
1 2 3
1 2 3
Algoritmer
 Аватар для Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 477
Записей в блоге: 1
10.01.2014, 15:15     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза #6
Ну я же чесно предупредил
Цитата Сообщение от Algoritmer Посмотреть сообщение
могут быть ошибки, сильно не проверял
Более того, тут невооруженным глазом видно что для такой задачи должно быть 4 вложенных цикла, а не 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
#include <iostream>
using namespace std;
 
int main() {
    int **matr;
  int rowCount, colCount;
  cout<<"input rowCount: ";
  cin>>rowCount;
 cout<<"input colCount: ";
  cin>>colCount;
  matr=new int*[rowCount];
  cout<<"input matrix: \n";
  for(int i=0;i<rowCount;i++)
  {
      matr[i]=new int[colCount];
      for(int j=0;j<colCount;j++) cin>>matr[i][j];
  }
  //теперь определим повторы
  int maxCh=matr[0][0];
  bool notin=true;
  for(int i=0;i<rowCount;i++)
  for(int j=0;j<colCount;j++)
  {
        int tek=matr[i][j];
        for(int k=i;k<rowCount;k++)
        {
            if(!notin && tek<=maxCh) break;
            int u;
            if(k==i) u=j+1;
            else u=0;
            for(;u<colCount;u++)
            {
                if(tek==matr[k][u]) if(notin || maxCh<tek) {maxCh=tek; notin=false; break;}
            }           
        }
        
  }
 
  cout<<"Max repeat element = "<<maxCh;
  cin>>maxCh;
    return 0;
}
Yandex
Объявления
10.01.2014, 15:15     Определить максимальное из чисел, встречающихся в заданной матрице более одного раза
Ответ Создать тему
Опции темы

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