Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.09.2011, 13:06
Игорь Кулакевич Игорь Кулакевич вне форума
Прохожий
 
Регистрация: 29.09.2011
Сообщения: 7
Репутация: 10
По умолчанию проблемы с Double

есть проблема:

нужно разделить отрезок длинной L на части, но если L: Double;(не целочисленныя длинна отрека,а скажем 90.5)
выдает ошибку:[DCC Error] Project1.dpr(19): E2015 Operator not applicable to this operand type
Код:
var
X, i, j: Integer;
l,a1:Double;

begin
Write('L = ');
ReadLn(L);
Write('X = ');
ReadLn(X);
Write('i = ');
ReadLn(i);
a1 := L div X - (i * (X - 1)) div 2;
for j := 1 to X do begin
Write(a1, ' ');
a1 := a1 + i;
end;
ReadLn;
end.
Ответить с цитированием
  #2  
Старый 30.09.2011, 13:15
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

в какой строчке ошибка?
Ответить с цитированием
  #3  
Старый 30.09.2011, 13:22
FlyInDream FlyInDream вне форума
Прохожий
 
Регистрация: 10.08.2011
Сообщения: 24
Репутация: 10
По умолчанию

Правильное а1 это:
a1 := (2*L/X - (i * (X - 1)))/2;
И вот тогда и с L проблем не будет.

P.S. Просчитался я. Ваша формула тоже верна, только вместо div надо обычное деление делать.

Последний раз редактировалось FlyInDream, 30.09.2011 в 13:25.
Ответить с цитированием
  #4  
Старый 30.09.2011, 13:23
Игорь Кулакевич Игорь Кулакевич вне форума
Прохожий
 
Регистрация: 29.09.2011
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pyro
в какой строчке ошибка?
Код:
a1 := L div X - (i * (X - 1)) div 2;
Ответить с цитированием
  #5  
Старый 30.09.2011, 13:28
Игорь Кулакевич Игорь Кулакевич вне форума
Прохожий
 
Регистрация: 29.09.2011
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от FlyInDream
Правильное а1 это:
a1 := (2*L/X - (i * (X - 1)))/2;
И вот тогда и с L проблем не будет.

P.S. Просчитался я. Ваша формула тоже верна, только вместо div надо обычное деление делать.
спасибо, как к нормальному виду теперь числа привести, а то там получается после вывода:
7.010000000000Е+0001 и так далее
Ответить с цитированием
  #6  
Старый 30.09.2011, 13:34
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

выводи
writeln(floattostr(a1));
Ответить с цитированием
  #7  
Старый 30.09.2011, 13:38
Игорь Кулакевич Игорь Кулакевич вне форума
Прохожий
 
Регистрация: 29.09.2011
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pilot_Red
выводи
writeln(floattostr(a1));
спасибо большое.
Ответить с цитированием
  #8  
Старый 30.09.2011, 15:20
Игорь Кулакевич Игорь Кулакевич вне форума
Прохожий
 
Регистрация: 29.09.2011
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от FlyInDream
Правильное а1 это:
a1 := (2*L/X - (i * (X - 1)))/2;
И вот тогда и с L проблем не будет.

P.S. Просчитался я. Ваша формула тоже верна, только вместо div надо обычное деление делать.

только в обеих выводит не с большего к меньшему, а наоборот- от меньшего к большему.
как сделать наоборот подскажите?
Ответить с цитированием
  #9  
Старый 30.09.2011, 16:10
FlyInDream FlyInDream вне форума
Прохожий
 
Регистрация: 10.08.2011
Сообщения: 24
Репутация: 10
По умолчанию

Код:
...
a1 := (2*L/X + (i * (X - 1)))/2;
for j := 1 to X do begin
Write(a1, ' ');
a1 := a1 - i;
end;

Последний раз редактировалось FlyInDream, 30.09.2011 в 16:15.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter