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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2009, 22:48   #1
Иван 883
Пользователь
 
Регистрация: 25.12.2008
Сообщений: 39
По умолчанию Разность между max и min значениями

Доброго времени суток господа програмисты! Мне нужно написать программу которая вычисляет разность между максимальным и минимальным значением массива с использованием процедур. Вот мой получившийся код но на последней строке выскакивает ошибка.
Код:
program lab11;
uses crt;
const m=200;
type mas=array[1..m] of real;
var a:mas;
    n:integer;
    max,min:real;
procedure vvod;
var b:mas;
    n,i:integer;
begin
  writeln('Введите количество чисел N');
  readln(n);
  write ('Введите числа');
  for i:=1 to n do
    begin
      writeln('Введите число N=',I);
      readln(b[i]);
    end;
end;
procedure rechenie;var b:mas;
    max,min:real;
    n,i:integer;
begin
  max:=b[1];
  min:=b[1];
  for i:=1 to n do
    begin
      if b[i]<min then min:=b[i];
      if b[i]>max then max:=b[i];
    end;
end;
procedure otvet;
var max,min:real;
begin
  writeln('ответ',max-min:3:2);
  readln;
end.
Дело в том что процедуры только начал изучать и многого ещё незнаю. Подскажите пожалуйста, в чем моя ошибка?
Иван 883 вне форума Ответить с цитированием
Старый 16.02.2009, 23:11   #2
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

Код:
uses crt;
type
ar=array[1..100] of integer;
var
mas:ar;
n:integer;
procedure read_array(var a:ar; x:integer);
var
i:integer;
begin
writeln(' BBODUTE MACCUB ');
writeln;
for i:=1 to x do
  begin
   write(' -> ');
   readln(a[i]);
  end;
end;
function max(a:ar; n:integer):integer;
var
i,buf:integer;
begin
max:=a[1];
for i:=2 to n do
if a[i]>buf then buf:=a[i];
max:=buf;
end;
function min(a:ar; n:integer):integer;
var
i,buf:integer;
begin
buf:=a[1];
for i:=2 to n do
if a[i]<buf then buf:=a[i];
min:=buf;
end;
begin
clrscr;
write(' PA3MEP MACCUBA -> ');
readln(n);
read_array(mas,n);
writeln;
writeln(max(mas,n)-min(mas,n));
readln;
end.
Новичок Иван 883 - и тот знает, что код нужно заключать в соответствующие тэги.
Делаю устное замечание (на первый раз).
@(o_0)@

Последний раз редактировалось mihali4; 16.02.2009 в 23:27.
Tkirill вне форума Ответить с цитированием
Старый 16.02.2009, 23:24   #3
Иван 883
Пользователь
 
Регистрация: 25.12.2008
Сообщений: 39
По умолчанию

Спасибо большое Tkirill!!! Отзыв Вам оставил.
Иван 883 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять местами в массиве max и min элемент. Stager Общие вопросы C/C++ 2 13.01.2009 02:03
m=min(max{aij}) Массивы на C++ Wia Помощь студентам 2 22.12.2008 19:23
задачи на массив среднеарифметическое и min,max Stinging Паскаль, Turbo Pascal, PascalABC.NET 4 17.12.2008 17:14
Поиск min/max данных с несколькими условиями - нужна помощь! /nort/ Microsoft Office Excel 3 16.03.2008 00:13
Как найти max и min элементы матрицы????? ЕвгениуS Помощь студентам 19 02.03.2008 19:47