Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2016, 19:58   #1
романколесников
Новичок
Джуниор
 
Регистрация: 24.03.2016
Сообщений: 1
Восклицание Ошибка в программе

Пытаюсь ввести последний элемент массива и меня выкидывает. PascalABCNET
Program2.pas(16) : Ошибка времени выполнения: Индекс находился вне границ массива. хотя сам индекс вне границ не выходит.


сам код.

Код:
const
N = 5;
var
 a: array [1..N] of integer;
 i,m,s: integer;
begin
  s:=0;
  for i:=1 to N do
  readln(a[i]);
  m:=a[1];
   if m > a[i]    // поиск максимального значения 
   then a[i]:=a[i+1];
   m:=a[i];
for i:=0 to N do 
begin
if a[i] mod 2 = 0 then   // программа вылетает на этой строчке
s:=s+a[i];
writeln(s);
end;
end.

Последний раз редактировалось Аватар; 24.03.2016 в 20:28. Причина: не назвал язык
романколесников вне форума Ответить с цитированием
Старый 24.03.2016, 20:07   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

a: array [1..N] of integer;

for i:=0 to N do

Цитата:
хотя сам индекс вне границ не выходит.
???
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.03.2016, 20:34   #3
nikimen
 
Регистрация: 22.03.2016
Сообщений: 4
По умолчанию

у меня вопрос эта программа для поиска максимального значения?
если так то вот сылка https://www.youtube.com/watch?v=P2HHpZgOgXk после 45 минуты там будет обьяснение
nikimen вне форума Ответить с цитированием
Старый 24.03.2016, 22:14   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

У вас фигня какая-то
Код:
for i:=1 to N do
  readln(a[i]); // *- и все, только это и делается в цикле.
// * а это - уже вне цикла , то есть сделается только 1 раз : 
  m:=a[1];
   if m > a[i]    //поиск максимального значения
   then a[i]:=a[i+1]; // * - вот здесь и будет выход за пределы
type_Oleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка программе ch_dark БД в Delphi 4 05.12.2013 21:01
ошибка в программе MKS23 Помощь студентам 1 13.06.2012 20:36
Ошибка в программе user100 Паскаль, Turbo Pascal, PascalABC.NET 2 17.04.2011 21:08
Ошибка в программе CraZZZy-GameRRR Общие вопросы Delphi 2 14.02.2011 02:22
Ошибка пв программе aiktz Помощь студентам 0 24.10.2010 21:48