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

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

Войти
Регистрация
Восстановить пароль
 
-=ЮрА=-
Заблокирован
Автор FAQ
#1

номер столбца, в кототром находится самая длинная серия одинаковых элнментов. - C++

28.10.2009, 10:51. Просмотров 337. Ответов 0
Метки нет (Все метки)

Помогаю с заданием которое мне в личку пришло. Суть программы в следующем в прямоугольной целочисленной матрице ищет строку с максимальным количеством одинаковых элементов, выдаёт номер строки и выводит саму строку, думаю может комуто ещё кроме автора просьбы сгодиться...
Сразу оговорюсь что алгоритм поиска можно упростить, я писал под уровень начинающего
Вот код
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.h>
#include <windows.h>
 
int m,n;
int ** mass = (int **)malloc(sizeof(int));
int * AddRow(int i, int n, int * pRow);
int GetMaxSequenceLen(int n, int * pRow);
 
void main()
{
    cout<<"Vvedite chislo strok v matrice\r\n";
    cin>>m;
    cout<<"Vvedite chislo stolbcov v matrice\r\n";
    cin>>n;
    mass = (int **)realloc((void *)mass, m*sizeof(int));
    for(int i = 0,MaxLen = 0,iRow = 0,iLen; i < m; i++)
    {
        mass[i] = (int *)malloc(sizeof(int)*n);
        mass[i] = AddRow(i, n, mass[i]);
        iLen = GetMaxSequenceLen(n, mass[i]);
        if(MaxLen < iLen)
        {
            MaxLen = iLen;
            iRow = i;
        }
    }
    cout<<"Stroca s max dlinoi odinakovih simvolov "<<iRow + 1<<"\r\n";
    cout<<"Dannie stroki\r\n";
    for(i = 0; i < n; i++)
        cout<<mass[iRow][i]<<" ";
    cout<<"\r\nVvedite 1 dlya novogo vvoda matrici\r\n";
    cin>>m;
    if(m == 1)
        main();
}
 
int * AddRow(int i, int n, int * pRow)
{
    cout<<"Vvod "<<i + 1<<" stroki\r\n";
    for(int j = 0; j < n; j++)
    {
        cout<<"mass["<<i + 1<<"]["<<j + 1<<"] = ";
        cin>>pRow[j];
    }
    cout<<"\r\n";
    return pRow;
}
 
int GetMaxSequenceLen(int n, int * pRow)
{
    int MaxLen = 0, iElem = pRow[0], iLen = 0;
    for(int i = 0,j;i < n; i++)
    {
        iElem = pRow[i];iLen = 0;
        for(j = i + 1;j < n; j++)
        {
            if(iElem == pRow[j])
                iLen++;
        }
        if(MaxLen < iLen)
            MaxLen = iLen;
    }
    return MaxLen;
}
Миниатюры
номер столбца, в кототром находится самая длинная серия одинаковых элнментов.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2009, 10:51     номер столбца, в кототром находится самая длинная серия одинаковых элнментов.
Посмотрите здесь:

Номер столбца, в которой находится самая длинная серия одинаковых элементов. C++
Определить номер строки, в которой находится самая длинная серия одинаковых элементов C++
C++ Определить номер столбца матрицы, в котором находится самая длинная серия одинаковых элементов
Определить номер столбца матрицы, в котором находиться самая длинная серия одинаковых элементов. C++
Номер строки, в которой самая длинная серия одинаковых злементов C++
Определить номер столбца, в котором находится самая длинная серия одинаковых элементов C++
C++ Составить программу, которая находит номер столбца, в котором находится самая длинная серия одинаковых элементов
C++ Найти номер строки матрицы, в которой находится самая длинная серия одинаковых элементов
Определить номер столбца, в котором находится самая длинная серия одинаковых элементов C++
C++ Двумерный массив: строка, в которой находится самая длинная серия одинаковых элементов
Найти номер строки матрицы, в которой находится самая длинная серия одинаковых элементов C++
C++ Найти номер строки, в которой находится самая длинная серия одинаковых элементов

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

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

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