Показать сообщение отдельно
Старый 23.07.2010, 03:36   #1 (permalink)
пупс
Member
 
Регистрация: 22.07.2010
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Процедуры в Паскале

Привет. ПОМОГИТЕ РЕШИТЬ ОДНУ ПРОБЛЕМУ. Вот условие программы:
Напечатать все целые числа из отрезка [1,100], сумма цифр которых является четным числом. Подсчет суммы цифр числа и определение их четности оформить в процедуре (входной параметр: целое число; выходной параметр: логическая переменная)
А вот решение:
Код:
uses 
  crt;
var 
  i:integer;
function sum(a:integer):boolean;
  var 
    s:integer;
begin
  s:=0; 
  while a<>0 do 
  begin 
    s:=s+a mod 10;
    a:=a div 10;
  end;
  sum:=s;
end;
begin
  clrscr;
  for i:=1 to 100 do if not odd(sum(i)) then write(i,' ');
  readln
end.
Когда я её компилирую, мне выдается ошибка под названием НЕСООТВЕТСТВИЕ ТИПОВ, и показывает на что именно:
.......
end;
sum:=s;
end;
.......
Мне бы хотелось узнать, что именно здесь не так и как устранить эту ошибку.

Последний раз редактировалось Long Cat; 23.07.2010 в 04:41
пупс вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070