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

Дан массив 10х10, нужно чтобы показывал три самых максимальных повторений с перечислением повторяющихся элементов? - C++

Восстановить пароль Регистрация
 
nadya18
Сообщений: n/a
21.04.2013, 18:48     Дан массив 10х10, нужно чтобы показывал три самых максимальных повторений с перечислением повторяющихся элементов? #1
Дан массив 10х10, нужно чтобы показывал три самых максимальных повторений с перечислением повторяющихся элементов?

10 10
1 2 3 4 5 6 7 8 9 10
-1 2 -3 4 -5 6 -7 8 -9 10
10 9 8 7 6 5 4 3 2 1
-5 -6 -7 -8 -9 1 2 3 4 5
5 4 3 2 1 10 9 8 7 6 5
1 2 3 4 5 6 7 8 9 10
-1 2 -3 4 -5 6 -7 8 -9 10
10 9 8 7 6 5 4 3 2 1
-5 -6 -7 -8 -9 1 2 3 4 5
5 4 3 2 1 10 9 8 7 6 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
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 <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <clx.h>
#include <iostream.h>
#include <fstream.h>
//---------------------------------------------------------------------------
 
 
#include <iomanip.h>
#pragma argsused
int main(int argc, char* argv[])
{
char buffer [80];
ifstream fin ("input1.txt" , ios::in|ios::out);
 if(!fin)
 {
 CharToOem("Файл не найден", buffer);
 cout<<buffer<<endl;
 return 1;
 }
 int nrow, ncol;
 fin>>nrow>>ncol;
 int i, j, temp, max;
 int **a= new int *[nrow];
 for(i=0; i<nrow; i++)
 a[i] =new int[ncol];
 for(i=0; i<nrow; i++)
    for(j=0; j<ncol;  j++)
    fin >> a[i][j];
 for(i=0; i<nrow; i++)
 {
 for(j=0; j<ncol; j++)
 cout<<setw(4)<<a[i][j];
 cout<<endl;
 }
 cout<<endl<<endl;
 //массив для повторяющихся элементов
 int *repet =new int[nrow*ncol];
 int *coutrepet =new int [nrow*ncol];
 int *p, *p1, k=0;
 p=&a[0][0];
 p1=&repet[0];
 for(i=0; i<nrow*ncol; i++)
   {
   repet[i]=0;
   coutrepet[i]=1;
   }
   //cout<<*(p+i)<<"   ";
   //cout<<endl<<endl:
   bool flag;
 
 for(i=0; i<nrow*ncol; i++)
 {
 flag=false;
 if(*(p+i)==0 ||*(p+i)==46)
 continue;
 else
 for(j=i+1; j<nrow*ncol +10; j++)
     if(*(p+i)== *(p+j))
     {
     *(p+j)= 0;
     if(!flag)
        {
        *(p1+k)= *(p+i);
        k++;
        flag=true;
        }
 coutrepet[k -1]++;
     }
 }
 //распечатка повторений
 
 for(i=0; i<nrow*ncol; i++)
 if(repet[i])
 cout<<setw(4)<<repet[i];
 cout<<endl<<endl;
for(i=0; i<nrow*ncol; i++)
 
if(coutrepet[i]!=1)
cout<<setw(4)<<coutrepet[i];
cout<<endl<<endl;
/*for(i=0; i<nrow; i++)
{
for(j=0; j<ncol; о++)
cout<<setw(4)<<a[i][j];
cout<<endl;
}*/
getch();
}
 
//---------------------------------------------------------------------------
вот в этой програмке написано какой элемент сколько раз повторяется(верхняя строка элементы, нижняя количество повторов в массиве) нужно теперь чтобы писал лишь три максимальных повторений, это 10,9 и 8. но при это перечислял какие именно элементы столько раз повторяются а именно 10 раз-2, 4 ...и так далее. Как это сделать? помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 18:48     Дан массив 10х10, нужно чтобы показывал три самых максимальных повторений с перечислением повторяющихся элементов?
Посмотрите здесь:

как найти три максимальных и три минимальных значения 10 случайных чиселых C++
C++ дан массив целых чисел m и n элементов. Нужно поменять местами m и n, в том же порядке
дан массив a={a[1],a[2],...,a[n]} сформировать из него матрицу 10х10 C++
C++ даны три массива A[6,6], B[6,6],C[6,6]. найти сумму максимальных элементов, расположенных на главной диагонали
Нужно подсчитать количество максимальных элементов. C++
C++ Дан массив А на Н элементов (Н-константа). В массиве найти пять максимальных элементов.
C++ Дан массив а, состоящий из n целых чисел (n < = 100). Найти количество максимальных элементов массива
C++ Дан массив а, состоящий из n целых чисел (n < = 100). Найти количество максимальных элементов массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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