@Mushkiter007

Как мне заставить этот простой код работать?

Мне нужно, чтобы все перечисленные переменные оставались целыми, а дробные оставались дробными.
Я так понимаю, что Pascal ругается на то, что переменной Integer присваивается выражение в котором присутствуют переменные Real?

Вопрос: Как мне просто это выражение записать в переменную Integer ? Или это невозможно ничего не изменяя в переменных?

Ошибка: Incompatible types: 'integer' and 'Extended'

var
  M,N,M1,M2,M3,x:integer;
  N1,N2,N3:real;

  for M1:=0 to trunc(N/MAX) do
    begin
      M2:=(N-M1*N1-M*N3+M1*N3);
      if ((M2 mod 9 = 0) and (M2>=0)) then
        begin
          M3:=M-M1-(M2 div 9);
          if(M3>=0) then
            begin
               ...........
	    end;
    end;
  • Вопрос задан
  • 262 просмотра
Решения вопроса 2
@Mushkiter007 Автор вопроса
Придется еще думать. Решение найдено, спасибо за такую обширную помощь. Кусок кода то от олимпиадной задачи.
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
M2 := Round( N - M1 * N1 - M * N3 + M1 * N3 );

Или как у вас

for M1 := 0 to Trunc( N / MAX ) do

M2 := Trunc( N - M1 * N1 - M * N3 + M1 * N3 );
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы