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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2013, 15:47   #1
Toivo
 
Регистрация: 17.03.2013
Сообщений: 9
Смех Delphi 7, подпрограмма-процедура

Для каждого из массивов А(8), В(9) определить количество чисел, попавших в интервал [C, D].
Повторяющуюся часть алгоритма реализовать с помощью подпрограммы - процедуры.
Toivo вне форума Ответить с цитированием
Старый 17.03.2013, 18:58   #2
DrStrangeLove
Пользователь
 
Регистрация: 18.04.2010
Сообщений: 56
По умолчанию

Исхожу из того, что [C,D] - закрытый интервал (включает значения C и D), а также что C<D, и С вводится первой..


Код:

program myprogram;

Var 

   arrA: Array[1..8] of Real;
   arrB: Array[1..9] of Real;
   interval: Array[1..2] of Real;
   ind,j,k:Integer;
   
procedure  detect(inter:Array of Real;a:Array of Real);
var c,i:Integer;

begin
   c:= 0;
   
   if inter[0] < inter[1] then
   begin
   for i := 0 to length(a)-1 do
     begin
	 if (a[i] >= inter[0]) and (a[i] <= inter[1])  then
	      Inc(c,1);
	
     end;
   
   end;

WriteLn('Kolichestvo chisel popavshikh v interval:');
WriteLn(c);

end;


begin
WriteLn('Vvedite massiv A:');
for ind:= 1 to length(arrA)  do  Read(arrA[ind]);
Readln;

WriteLn('Vvedite massiv B:');
for j:= 1 to length(arrB)  do  Read(arrB[j]);
Readln;

WriteLn('Vvedite interval:');
for k:= 1 to length(interval)  do  Read(interval[k]);
Readln;

detect(interval,arrA);
detect(interval,arrB);

end.
DrStrangeLove вне форума Ответить с цитированием
Старый 18.03.2013, 19:09   #3
Toivo
 
Регистрация: 17.03.2013
Сообщений: 9
По умолчанию

Спасибо.)
Думала, никто не ответит.
но..
Цитата:
Сообщение от DrStrangeLove Посмотреть сообщение
begin
WriteLn('Vvedite massiv A:');
for ind:= 1 to length(arrA) do Read(arrA[ind]);
Readln;

WriteLn('Vvedite massiv B:');
for j:= 1 to length(arrB) do Read(arrB[j]);
Readln;

WriteLn('Vvedite interval:');
for k:= 1 to length(interval) do Read(interval[k]);
Readln;

detect(interval,arrA);
detect(interval,arrB);

end.
здесь компилятору не нравится.
повтор глобальной переменной убрать и еще переменные в тестовой части прописать?
Toivo вне форума Ответить с цитированием
Старый 18.03.2013, 21:05   #4
DrStrangeLove
Пользователь
 
Регистрация: 18.04.2010
Сообщений: 56
По умолчанию

не знаю...
у меня с компилятором Free Pascal такой проблемы нет..)
DrStrangeLove вне форума Ответить с цитированием
Старый 18.03.2013, 23:32   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Toivo, во-первых, с телепатией у нас туго, указывайте конкретно, что там не нравится вашему компилятору (строчки, на которых ошибка, текст ошибки, возможно, даже скриншоты ошибки и т.д.)

во-вторых, Вам в Delphi нужно создавать КОНСОЛЬНОЕ приложение.
Если сделаете правильно, в коде появится такая строчка (выделил):
Цитата:
Код:
program Project7;

{$APPTYPE CONSOLE}

Var

   arrA: Array[1..8] of Real;
   arrB: Array[1..9] of Real;
   interval: Array[1..2] of Real;
   ind,j,k:Integer;

Третье, если не получится создать консольное приложение,
тогда готовый пример программы (с) DrStrangeLove во вложении: Project7.rar

Последний раз редактировалось Serge_Bliznykov; 18.03.2013 в 23:36.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi процедура > функция Nickolai47 Помощь студентам 4 12.12.2012 14:34
Подпрограмма-процедура PHARAoN91 Паскаль, Turbo Pascal, PascalABC.NET 2 23.11.2011 16:51
delphi процедура метода ckbdf16 Помощь студентам 1 02.06.2011 18:54
задача подпрограмма-процедура в Delphi Ксюшка 76 Помощь студентам 0 18.05.2011 16:16
подпрограмма-процедура в Pascal Танюсик Помощь студентам 6 21.04.2008 07:28