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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.09.2012, 22:48   #1
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию задача по паскалю

надо исправить там либо дополнительную процедурку дописать либ что-то исправить, помогите пожалуйста!!!
Формулировка задачи:Найти сумму максимального и минимального элементов одномерного массива. Проверить, является ли это число совершенным (число называется совершенным, если оно равно сумме всех своих делителей за исключением самого себя).
Код:
program mk;
Type masInt=array [1..10] of integer;
 var a:masInt; n,sum,s: integer;

procedure Form (var n:integer;var a:masInt);
 var i:integer;
begin
   writeln('введи длину массива');
   readln(n);
   writeln('введите сам массив');
   for i:=1 to n do
   readln(a[i]);
end;

 procedure Print (a: masInt; n: integer);
 var i: integer;
begin
  for i:=1 to n do write (a[i],' ');
  writeln;
end;

function Count(a:masInt; n:integer):integer;
   var i,max,min: integer;
begin
   max:=a[1];
   min:=a[1];
      for i:=1 to n do begin
       if a[i]>max then max:=a[i];
       if a[i]<min then min:=a[i];
  Count:=min+max;
end;end;

function Deliteli(s:integer):integer;
 var i: integer;
begin
 sum:=0;
 for i:=1 to 999 do
 If ((count mod i)=0) then sum:=count+i;
writeln(sum);
  end;
  


Begin
  Form(n,a);
  Print(a,n);
  writeln( Count(a,n));
End.

Последний раз редактировалось Stilet; 13.09.2012 в 08:01.
Veryn4ik1993 вне форума
Старый 12.09.2012, 23:19   #2
domovou
Пользователь
 
Аватар для domovou
 
Регистрация: 01.09.2012
Сообщений: 88
По умолчанию

Код:
program mk;
Type masInt=array [1..10] of integer;
var a:masInt; n,sum,s,z: integer;

procedure Form (var n:integer;var a:masInt);
var i:integer;
begin
writeln('введи длину массива');
readln(n);
writeln('введите сам массив');
for i:=1 to n do
readln(a[i]);
end;

procedure Print (a: masInt; n: integer);
var i: integer;
begin
for i:=1 to n do write (a[i],' ');
writeln;
end;

function Count(a:masInt; n:integer):integer;
var i,max,min: integer;
begin
max:=a[1];
min:=a[1];
for i:=1 to n do begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
z:=min+max;
Count:=min+max;
end;
end;

function Deliteli(s:integer):integer;
var i: integer;
begin
sum:=0;
for i:=z-1 downto 1 do
  if z mod i = 0 then sum:=sum+i;
if sum = z
  then write('Совер')
  else write('Несовер');
writeln(sum);
end;



Begin
Form(n,a);
Print(a,n);
writeln( Count(a,n));
Deliteli(s);
End.
Программист - это не тот, кто пишет программы, а тот, чьи программы работают.
domovou вне форума
Старый 12.09.2012, 23:32   #3
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

Большое спасибо!!!
Veryn4ik1993 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по паскалю DarknooB Помощь студентам 2 16.12.2010 22:35
задача по Паскалю))) Лилля Помощь студентам 2 25.09.2010 17:56
Задача по паскалю dante92 Помощь студентам 1 07.12.2009 19:07