IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Повторение Элемента, Задачка, помогите решить
Shtraf
сообщение 8.04.2012 23:54
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Gaur

Репутация: -  1  +


Найти максимальное кол-во и значение расположенных рядом одинаковых элементов массива.
Массив <= 10


Не могу дойти до алгоритма, по которому считать кол-во элементов выполняющих условие, так чтобы, если есть ряд длинней предыдущего, он считался заново и сохранить повторяющееся значение.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Shtraf
сообщение 9.04.2012 21:22
Сообщение #2





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Gaur

Репутация: -  1  +


 
const
MaxSize = 10;
var
A: array [1..MaxSize] of Integer;
N: Integer;
I: Integer;
R: Integer;
V: Integer;
Z: Integer;
{ я пропустил ввод данных что бы лишнее не писать тут, а так он такой же как и тот что я чуть выше писал}
R:=0;
V:=0;
if N=1 then
begin
V:=1;
Z:=A[1];
end;
for I:=1 to N do
if (I>1) and (I<N) then
begin
if Z=A[I-1] then
R:=0;
if A[I]=A[I+1] then
R:=R+1
else
if (A[I]=A[I-1]) and (A[I]<>A[I+1]) then
begin
R:=R+1;
if V=0 then
begin
V:=R;
Z:=A[I]
end
else
if R>V then
begin
V:=R;
Z:=A[I];
end;
end;
end
else
begin
if (I=1) and (A[I]=A[I+1]) then
R:=R+1
else
if (I=N) and (A[I]=A[I-1]) then
begin
R:=R+1;
if R>V then
begin
V:=R;
Z:=A[I];
end;
end;
end;
{ Вывод результата}
writeln('Максимальная цепочка = ', V,' при значение = ',Z);
readln;
end.



Вот то что я сотворил... но я делал на том что знаю (while я не умею им пользоваться у меня с ним не получилось)

Добавлено через 10 мин.
В принципе вопрос исчерпан, но буду очень рад советам, потому что я только начал осваивать всё это.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:45
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"