Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 3
1

Ошибка деление на ноль

25.05.2015, 20:20. Показов 1590. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что нужно исправить в этой процедуре, чтобы не было деления на ноль ?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Procedure otnoshenie(G:vektor);
var
  Rez: real;
  s, s1, i, iMax, max: integer;
begin
  writeln;
  s := 1;s1 := 1;
  imax := 1; max := G[1];
  for i := 1 to n do
  begin
    if G[i] > max then imax := i; max := G[i] end;
  for i := 1 to imax do s := s * G[i];
  for i := imax to n do s1 := s1 * G[i];
  Rez := s / s1;
  Writeln('Отношение в массиве ', ' = ', Rez:5:2);
  delay(300);
  Writeln('Произведение до max = ', s);
  delay(300);
   Writeln('Произведение после max = ', s1);
  delay(300);
  end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2015, 20:20
Ответы с готовыми решениями:

Ошибка деление на ноль
в конкретном случае (a>1/a) при а= 0 естественно ошибка деление на ноль, как этого избежать??? ...

Ошибка 200 (деление на ноль)
Выдает ошибку 200 (деление на ноль) вроде все по сто раз перепроверила и та же лабуда (( ...

Графика: ошибка деление на ноль
программа uses program9; BEGIN postgr; zkl; END. модуль Unit program9;

Ошибка при вычислении функции, деление на ноль.
Фрагмет: function Myfunc(a,eps:real):real; var i:integer; s,sn,t:real; begin if (a=0)...

5
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.05.2015, 20:31 2
Это нужно так
Pascal
1
2
3
4
5
6
 for i := 1 to n do
  if G[i] > max then
   begin
     imax := i;
     max := G[i]
   end;
А деление на 0 от того что либо вектор не заполнен либо содержит 0.
0
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 3
25.05.2015, 20:38  [ТС] 3
как можно это исправить, если вектор заполняется полностью генератором случайных чисел ?
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.05.2015, 20:50 4
Pascal
1
2
3
4
for i:=1 to n do
repeat
a[i]:=-5+random(11);
until a[i]<>0;
0
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 3
25.05.2015, 20:56  [ТС] 5
Все равно ошибка.
Он подчеркивает строку Rez := s / s1;
0
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.05.2015, 20:58 6
Если в векторе не 0 то этого не может быть. Собери мозг в кучку.
0
25.05.2015, 20:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2015, 20:58
Помогаю со студенческими работами здесь

Деление на ноль
У прогу пишу,для проверки. Вроде нормально, а у меня деление на ноль пишет. program GF; uses...

Вещественное деление на ноль
Пишет вещественное деление на 0. Помогите отыскать ошибку пожалуйста. program lab_9; uses crt;...

ошибка деление на ноль
пишет деление на ноль program l4; const eps=0.1 var i,zn,a,znak,z:integer; ...

Как сделать так чтобы если на ноль было деление не выодился Результат
var a,d,c:real; b:char; procedure kakulyator; begin case b of '+':d:=a+c; '-':d:=a-c;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru