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

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

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

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

19.02.2012, 12:44. Просмотров 293. Ответов 3
Метки нет (Все метки)

Всем привет,в общем,задание:
В целочисленном массиве из 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;
}
 Комментарий модератора 
Код выделяем тегами!
Миниатюры
Проблема в задаче,подскажите.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2012, 12:44     Проблема в задаче,подскажите.
Посмотрите здесь:

комметарии к задаче C++
Проблема с работой в Visual Studio, я новичок, подскажите) C++
C++ Не могу разобраться в задаче
Crash в задаче с тимуса C++
C++ Написать таймер к задаче
Общее представление о задаче C++
C++ ошибка в задаче на палиндром
C++ Засада на 3-ей Задаче
Комментарии к задаче на массив от 0 до 14 C++
Ошибка в задаче C++
C++ Класс в задаче
ошибка в задаче с классом C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anton_83
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 26
19.02.2012, 12:45  [ТС]     Проблема в задаче,подскажите. #2
Если что,исходник тут же,на форуме.Но работает все равно не корректно.
Mayonez
 Аватар для Mayonez
380 / 272 / 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     Проблема в задаче,подскажите.
Ответ Создать тему
Опции темы

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