Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2011, 03:05   #1
Zzoyberg
Пользователь
 
Регистрация: 07.12.2011
Сообщений: 17
Вопрос Определить сумму натуральных элементов массива, сумма цифр которых кратна 3.

Дан одномерный массив натуральных чисел. Определить сумму элементов массива, сумма цифр которых кратна 3. Все вспомогательные алгоритмы оформить в отдельный модуль.

Вот она уже сделанная, но в паскале FREE не работает.

Модуль mod.pas:
Код:
unit MyModule

interface
const MaxCount=20;
type MyArr:array[1..MaxCount] of integer;

function IsDel3(n:integer):boolean;
function Sum(a:MyArr):integer;
procedure GetArr(var a:MyArr);
procedure PrintArr(a:MyArr);

implementation

function IsDel3(n:integer):boolean;
begin
 IsDel3:= (n mod 3)=0;
end;

function Sum(a:MyArr):integer;
var i,s:integer; 
begin
 s:=0;
 for i:=1 to MaxCount do
   if IsDel3(a[i]) then s:=s+a[i];
 Sum:=s;
end;

procedure GetArr(var a:MyArr);
var i:integer;
begin
 for i:=1 to MaxCount do begin
   write ('A[',i,'] = ');
   readln(a[i]);
 end;
end;

procedure PrintArr(a:MyArr);
var i:integer;
begin
  for i:=1 to MaxCount do
   write (a[i],' ');
  writeln;
end;

end.
Основная программа:

Код:
uses MyModule;

var arr:MyArr;

begin
GetArr(arr);
Writeln('Summ of elems = ',sum(arr));
PrintArr(arr);
readln;
end.
Zzoyberg вне форума Ответить с цитированием
Старый 28.12.2011, 11:45   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

сумма ЦИФР числа находится совсем по другому..
например, так:
Код:
  { суммуруем число N по цифрам (в обратном порядке) }
  SumN := 0;
  repeat
    OneDigit := N mod 10;
    N := N div 10;
    SumN := SumN + OneDigit;
  until N = 0;


а в остальном - нормальный код. Никаких особых косяков не вижу. Должно работать в любом нормальном Паскале.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.12.2011, 16:17   #3
Zzoyberg
Пользователь
 
Регистрация: 07.12.2011
Сообщений: 17
Восклицание

В программе выдает ошибку: "Cant find unit Mymodule uses by program"
А в модуле: "ILLegal unit name: MyModule"
Zzoyberg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить сумму натуральных элементов массива, сумма цифр которых кратна 3. Zzoyberg Паскаль, Turbo Pascal, PascalABC.NET 1 07.12.2011 06:44
найти кол-во трехзначных чисел сумма простых делителей которых кратна 5 (на Делфи) anzorchik Помощь студентам 2 02.10.2011 16:18
определить все двузначные числа сумма квадратов цифр которых кратна числу 15 [Pascal] mrRastom Помощь студентам 5 16.12.2010 09:47
Дано двузначное число. Определить кратна ли сумма его цифр числу а ? Оксаночка:) Помощь студентам 8 17.12.2009 19:46
Сформировать вектор Х из тех элементов вектора А, сумма цифр которых в десятичной записи больше заданного Dimati87 Помощь студентам 1 06.03.2009 14:36