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

Проблема в задаче,подскажите. - C++

Восстановить пароль Регистрация
 
anton_83
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 26
19.02.2012, 12:44     Проблема в задаче,подскажите. #1
Всем привет,в общем,задание:
В целочисленном массиве из n элементов найти наиболее длинную цепочку одинаковых подряд стоящих элементов.Но обращение к элементам нужно сделать через указатели.Проблема в том,что она выводит просто кол-во элементов.

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
#include<stdio.h>
#include<stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <system.hpp>
int rus(char str_c[])
{char *str=new char[255];
AnsiToOem(str_c,str);
cout<<'\n'<<str;
return(0);
}
int main()
{
int size,n,i,j,max;
rus("Введите кол-во элементов ");
cin>> size;
int *a = new int [size];
int *k = new int [size];
max=0;
for (i=0;i<size;i++)
{
rus("Введите элементы ");
cin>>*(a+i);
}
for (i=0;i<size;i++)
{
*(k+i)=0;
for (j=1+i;j<size;j++)
{
if (*(a+i)==*(a+i))  *(k+i)=*(k+i)+1;
}
}
cout<<endl;
for (i=0;i<size;i++)
{
if (*(k+i)>max) max=*(k+i);
}
max=max+1;
rus("Ответ: ");
cout<<max;
getch ();
return 0;
}
 Комментарий модератора 
Код выделяем тегами!
Миниатюры
Проблема в задаче,подскажите.  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anton_83
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 26
19.02.2012, 12:45  [ТС]     Проблема в задаче,подскажите. #2
Если что,исходник тут же,на форуме.Но работает все равно не корректно.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
19.02.2012, 13:14     Проблема в задаче,подскажите. #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
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    cout << "Enter size: ";
    int size;
    cin >> size;
    int* vec = new int[size];
    for(int i = 0; i < size; i++)
    {
        cout << "Enter " << i+1 << " element: ";
        cin >> *(vec + i);
    }
    
    int length    = 0;
    int maxlength = 0;
    for(int i = 1; i < size; i++)
    {
        if(*(vec + i - 1) == *(vec + i))
            length++;
        else
            length = 0;
        if(length > maxlength)
            maxlength = length;
    }
    
    cout << "Maxlength is " << maxlength + 1 << endl;
    
    return 0;
}
anton_83
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 26
19.02.2012, 13:41  [ТС]     Проблема в задаче,подскажите. #4
Мне нужно,что бы просто мою программу поправили.Но за старания спс)
Yandex
Объявления
19.02.2012, 13:41     Проблема в задаче,подскажите.
Ответ Создать тему
Опции темы

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