Аватар для Юля_программист
682 / 192 / 60
Регистрация: 04.05.2012
Сообщений: 886
Записей в блоге: 1

Посчитать количество одинаковых подряд стоящих элементов

11.12.2013, 15:26. Показов 2334. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Есть такое задание.
Дан массив. Найти количество одинаковых подряд стоящих элементов.

Я сделала программу, но беда в том, что я не знакома с синтаксисом паскаля, все прошерстила, а этого не поняла.
Ошибка:Ошибка времени выполнения:Индекс находился вне границ массива.
Вот код.

Pascal
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
program UseRepeat;
 
var 
  i,count: integer; 
  arr: array [1..5] of real;
 
  
begin
 
for i:=1 to 5 do
begin
read(arr[i]);
 
end;
for i:=1 to 5 do
  begin
    if i<>1//когда равно 1 он должен
      then begin
           if (arr[i]=arr[i+1]) and   (arr[i]=arr[i-1]) then
               begin
                 inc(count)
               end 
   else//прыгнуть сюда,а он почему то даже не смотрит, когда первый элемент он возвращается к  циклу
      if arr[i]=arr[i+1]
          then begin
          inc(count);
        
      if i=5 then
       if arr[i]=arr[i-1] then
       inc(count);
end
end
end;
 
 
write('Количество одинаковых подряд стоящих элементов: ',count);
 
end.
Я никак не пойму какая строка не в том месте??Почему оно не срабатывает. А вот если пройти по шагам то он все правильно делает, вылет ошибки на последнем элементе.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2013, 15:26
Ответы с готовыми решениями:

Посчитать количество элементов в строке матрицы, стоящих после первого отрицательного числа
Всем привет) Ребят очень нужна помощь с контрольной работой.:-| 1) создать прямоугольную матрица NxM целых чисел (включая...

Подсчитать количество одинаковых чисел массива, идущих подряд
program qwe; const n=20; var arr: array of integer; i:integer; count:byte; begin randomize; for i:=1 to n do...

Найти длину самой длинной последовательности стоящих рядом одинаковых элементов
Заполнить массив из 10 элементов числами и найти длину самой длинной последовательности стоящих рядом одинаковых элементов. program...

5
12 / 4 / 4
Регистрация: 11.12.2013
Сообщений: 19
11.12.2013, 19:32
Юля_программист, 19 строка при проверке условия arr[i]=arr[i+1], при i=5 происходит обращение к 6 элементу массива, которого нет.
0
 Аватар для Юля_программист
682 / 192 / 60
Регистрация: 04.05.2012
Сообщений: 886
Записей в блоге: 1
12.12.2013, 10:04  [ТС]
ialbdvaeee, может Вы можете подсказать,как это исправить?
0
12 / 4 / 4
Регистрация: 11.12.2013
Сообщений: 19
12.12.2013, 10:52
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program UR;
const n=7;
var a:array[1..n] of integer;
    max,max1:integer;
begin
   for var i:=1 to n do
      read(a[i]);
   max:=1;
   max1:=1;
   for var i:=1 to n-1 do
         if (a[i]=a[i+1]) then inc(max1)
                          else
                               begin
                                 if (max1>max) then max:=max1;
                                 max1:=1;
                               end;
   if (max1>max) then max:=max1;
   writeln(max);
end.
учтет случаи, когда разные элементы встречаются подряд по несколько раз.
Например для массива: 1 1 1 2 2 2 3 3 3 3, выведет 4.
0
21 / 13 / 9
Регистрация: 12.12.2013
Сообщений: 19
12.12.2013, 12:24
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Юлия, вы все усложняете. Все намного проще.

Pascal
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
program UseRepeat;
 
var 
  i,count: integer; 
  arr: array [1..5] of real;
 
  
begin
count := 0; // обнуляем счетчик 
 
// Заполняем массив
for i:=1 to 5 do
begin
  read(arr[i]);
end;
 
// Поиск одинаковых подряд стоящих элементов
for i:=1 to 5-1 do 
begin
  if arr[i]=arr[i+1] then inc(count);
end;
 
 
write('Количество одинаковых подряд стоящих элементов: ',count);
 
end.
Добавлено через 23 минуты
Второй вариант:
Pascal
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
program UseRepeat;
 
const
  n = 5; // размер массива
 
var 
  i,count: integer;
  fg: boolean;
  arr: array [1..n] of real;
 
  
begin
count := 0; // обнуляем счетчик 
fg := false;
 
// Заполняем массив
for i:=1 to n do
begin
  read(arr[i]);
end;
 
// Поиск одинаковых подряд стоящих элементов
for i:=1 to n-1 do 
begin
  if (arr[i]=arr[i+1]) and (fg=false) then 
  begin
    fg := true;
    inc(count);
  end
  else fg:=false;
end;
 
 
write('Количество одинаковых подряд стоящих элементов: ',count);
 
end.
0
 Аватар для Юля_программист
682 / 192 / 60
Регистрация: 04.05.2012
Сообщений: 886
Записей в блоге: 1
12.12.2013, 14:33  [ТС]
Спасибо большое!!
И как это я сама не поняла в чем проблема!
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2013, 14:33
Помогаю со студенческими работами здесь

В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов
В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов. Удалить из массива два первых простых ...

Определить наибольшее число подряд идущих одинаковых элементов последовательности
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой...

Определить наибольшее число идущих подряд одинаковых элементов в массиве
Помогите изменить программу. Дана: Определить наибольшее число идущих подряд положительных элементов в массиве А. Необходимо: Дан...

Подсчитать наибольшее число идущих в массиве подряд одинаковых элементов
4) Имя входного файла: z571.in Имя выходного файла: z571.out Дана целочисленная таблица A. Подсчитайте наибольшее число идущих в ней...

Посчитать наибольшее количество светлых (розовых и желтых) бусин, нанизаны подряд
Ограничение времени: 1 с Лимит памяти: 64 M Дочь Короля, юная Принцесса, не слишком дружит с арифметикой. Король считает, что легче...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru