0 / 0 / 0
Регистрация: 06.12.2008
Сообщений: 8
1

Исправить ошибку надо

09.12.2008, 10:09. Показов 734. Ответов 2
Метки нет (Все метки)

Помогите исправить ошибку,ПЛЗ, при выполнении процедуры nechet вылетает ошибка: выход за границы диопозона
Код
Program max_min_sum;
var a:Array[1..10]of integer;
    q,w,m,n,b,i,min,max,s,p:integer;
    j:real;
procedure vvod_massiva(var b:integer);
begin
for i:=1 to 10 do
begin
writeln('vvedite elementi massiva ',i);
readln(a[i]);
end;
 for i:=1 to 10 do
 begin
  write(a[i],' ');
 end;
end;
procedure max_min_sum(var m,n,b:integer);
begin
 begin
 max:=0;
 for i:=1 to 10  do
 begin
 if max<a[i] then
 max:=a[i]
 end;
 end;
 writeln('Max el. = ',max);
 begin
 min:=a[i];
 for i:=1 to 10  do
 begin
 if min>a[i] then
 min:=a[i]
 end;
 end;
 writeln('Min el. = ',min);
 s:=min+max;
 writeln('Summa = ',s);
 end;
procedure chet(var q,w,b:integer);
begin
writeln;
begin
s:=0;
p:=0;
for i:=1 to 10 do
if a[i]mod 2<>0 then
writeln('neChet = ',a[i]);
for i:=1 to 10 do
if (a[i]mod 2)<>0 then
begin
s:=s+a[i];
p:=p+1;
end;
end;
writeln('Kol-vo = ',p);
writeln('Summa = ',s);
end;
procedure nechet(var q,w,b:integer);
begin
s:=0;
p:=0;
for i:=1 to 15 do
if a[i]mod 2=0 then
writeln('Chet = ',a[i]);
for i:=1 to 15 do
if (a[i]mod 2)=0 then
begin
s:=s+a[i];
p:=p+1;
end;
writeln('Kol-vo = ',p);
writeln('Summa = ',s);
readln;
end;
function sum(q,w:integer):integer;
begin
writeln('vvedite nomer elementa');
readln(i);
sum:=a[i]+4;
end;
{ðåøåíèå}
begin
vvod_massiva(b);
Writeln;
max_min_sum(m,n,b);
writeln;
chet (q,w,b);
writeln;
nechet(q,w,b);
writeln;
s:=sum(q,w);
writeln(s);
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2008, 10:09
Ответы с готовыми решениями:

Не могу исправить ошибку даны две матрицы надо чтобы на экран выводились они после ввода а паскаль мне выводит вот что 0.0E+000
Program matrici; uses crt; const n=3; Var...

В коде выдает ошибку на 15 строчке. Мне надо исправить эту ошибку
procedure TForm1.BOkClick(Sender: TObject); var e1, e2: double; begin Label1.Caption := '';...

Надо исправить ошибку...
Помогите найти ошибу, пожалуйста.... void __fastcall TForm1::sgWeightsSetEditText(TObject *Sender,...

надо исправить ошибку
задание выглядит так: Заполнить файл f натуральными числами, полученными с помощью генератора...

2
7 / 7 / 2
Регистрация: 05.12.2008
Сообщений: 26
09.12.2008, 11:12 2
Не удивительно! У тебя массив из 10 элементов, а в цикле ты ставишь 15.
А еще имя программы и имя процедуры не должно совпадать (max_min_sum)
И вообще нафига ты передаешь какие-то аргументы в проц. и функ. Они у тебя никогда не используются.
На будущее пиши код с комментариями и отступами, а то никто разбираться не будет

И еще удали кучу ненужных Begin-End
0
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 17
09.12.2008, 12:01 3
Слушай, Mag, даже я, семиклассник нашёл эту ошибку. Раз ты взял массив из 10 элементов, то в цикле должно быть тоже 10 элементов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2008, 12:01
Помогаю со студенческими работами здесь

Надо исправить ошибку в запросе на добавление
Я немного туплю как сделать, хоть мне и объяснили что надо привести к типу данных, но как это...

В этой программе надо исправить ошибку
Написана на С #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; int main() { float...

Надо исправить ошибку, не могу понять в чем дело. Тема модули
program project1; uses unit1,unit2; var A:tm1; B:tm1; C:tm1; i,j,imx,imin:integer;...

Рубрика найти и исправить ошибку в дельфе,программа работает но не делает то что надо
Номер задание 11.Программа работает по выводит S=0.00 Посмотрите что в коде не так,даже препод...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru