Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 18

Почему не работает программа? Пишет: "Индекс находился вне границ массива"

28.12.2014, 23:30. Показов 725. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
{Дана последовательность натуральных чисел Aj j=1...n (n<=10000).
Удалить из последовательности числа, начинающиеся цифрой 2,
а среди оставшихся продублировать числа, сумма цифр которых равна 25.}
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
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
Program ABC8;
const nmax=10000;
type tmas=array[1..nmax] of integer;
var
  a:tmas;
  j,n:integer;
  
 
function Chisla(x:integer):boolean;
begin
  Chisla:=false;
  while x>10 do 
     x:=x div 10;
  if x=2 then Chisla:=true;
end;   
 
function abc (n:integer):integer;
var sum:integer;
begin
   sum:=0;
   while n>0 do 
    begin
     sum:= sum + n mod 10;
     n:=n div 10
    end;
  abc:=sum;
end;   
 
procedure dubl(var b:tmas;var n:integer);
var k,i,m:integer;
begin
for i:=1 to n do
if abc(b[k])=25 then
for k:=n downto i do begin
a[k+1]:=a[k];
n:=n+1;
end;
end;
 
 
procedure del(var b:tmas;var k:integer);
var i,m:integer;
begin
i:=1;
while i<=k do
 if Chisla(b[i])=true then 
  begin
    for m:=i to k-1 do b[m]:=b[m+1];
    dec(k);
  end
 else inc(i);
end;
 
begin 
writeln('Введите количество элементов последовательности');
readln(n);
writeln('Введите числовую последовательность');
for j:=1 to n do 
read(a[j]);
del(a,n);
dubl(a,n);
writeln ('Новый массив А: ');
 for j:=1 to n do write (a[j]:4,' ');
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2014, 23:30
Ответы с готовыми решениями:

Индекс находился вне границ массива
Помогите пожалуйста. var a:array of integer; i:integer; begin min:=a; a:=random(4); for i:=1 to 5 do begin if (min&gt;a)...

Индекс находился вне границ массива
var a:array of integer; i,s:0..26; c,maxc:char; max:word; begin for c:='a' to 'z' do a:=0; repeat read(c); ...

Индекс находился вне границ массива
В чём проблема? На борланде все норм?

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
29.12.2014, 00:30
В 33 строке попытка обращения к b[k], переменная k не инициализирована, там может быть все, что угодно, поэтому с большой степенью вероятности будет выход за границы массива... Скорее всего, просто опечатка, и там должно быть b[i]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.12.2014, 00:30
Помогаю со студенческими работами здесь

Индекс находился вне границ массива
Уважаемые знатоки, Помогите-подскажите, почему у меня не запускается программа? uses crt, graphabc; ...

Индекс находился вне границ массива
var ostatok: array of integer; var a,b,c,d,e,f,k,l,x,y,z,n,m,p:int64; g:string; i:byte; begin writeln('Введите 3 числа в...

Индекс находился вне границ массива
Ошибка времени выполнения: System.IndexOutOfRangeException: Индекс находился вне границ массива. Стек: в Шифратор2.Program.$Main() в...

Индекс находился вне границ массива
создаю программу для построения графика функции, добавил кнопку и процедуру - вылезла ошибка и процедура не доходит и до середины. очень...

Индекс находился вне границ массива
В данной программе выдаёт ошибку: 4.pas(7) : Ошибка времени выполнения: Индекс находился вне границ массива. var a: array of integer;...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru