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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2013, 10:32   #1
Гузелька73
Новичок
Джуниор
 
Регистрация: 04.05.2013
Сообщений: 1
По умолчанию подпрограммы

Помогите пожалуйста ИЗМЕНИТЬ ПРОГРАММУ так, чтобы работать не с одним массивом, а с двумя А1 и А2. В основной программе предусмотреть вызовы подпрограмм к обоим массивам. 4. Оформить программу с использованием подпрограмм (процедур и функций – по необходимости). Обосновать использование процедур и функций. Обязательны процедуры формирования и вывода массива.
Код:
uses crt;
const nmax=100;
var a:array[1..nmax] of real;
n,i,k,q:integer;
c,d,p:real;
begin
randomize;
repeat
writeln;
write('Размер массива до ',nmax,' n=');
read(n);
until n in [1..nmax];
writeln('Исходный массив:');
k:=0;
for i:=1 to n do
begin
a[i]:=-5+14*random;
write(a[i]:6:2);
if i mod 13=0 then writeln;
if a[i]<0 then k:=k+1;
end;
writeln;
repeat
writeln('Введите диапазон чисел c<d');
read(c,d);
until c<d;
p:=1;
q:=0;
for i:=1 to n do
if(a[i]>=c)and(a[i]<=d) then
begin
q:=1;
p:=p*a[i];
end;
writeln('Количество отрицательных=',k);
if q=0 then write('Чисел из диапазона [',c:0:1,';',d:0:1,'] нет')
else write('Произведение чисел из диапазона [',c:0:1,';',d:0:1,']=',p:0:2);
end.

Последний раз редактировалось Stilet; 04.05.2013 в 11:04.
Гузелька73 вне форума Ответить с цитированием
Старый 04.05.2013, 11:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В качестве подсказки:
Код:
uses crt;
const nmax=100;
type TArray=array[1..nmax] of real;
var a1,a2:TArray;

procedure inn(var a:Tarray);
var n,i:integer;
begin
randomize;
repeat
writeln;
write('Размер массива до ',nmax,' n=');
read(n);
until n in [1..nmax];
writeln('Исходный массив:');
k:=0;
for i:=1 to n do
begin
a[i]:=-5+14*random;
write(a[i]:6:2);
if i mod 13=0 then writeln;
if a[i]<0 then k:=k+1;
end;
writeln;
end;

function pro(a:Tarray);
var n,i:integer;p:real;
begin
p:=1;
for i:=1 to n do
begin
 p:=p*a[i];
end;
pro:=p;
end;

n,i,k,q:integer;
c,d,p:real;
begin
inn(a1);inn(a2);
write('Произведение чисел из диапазона [',c:0:1,';',d:0:1,']=',pro(a1):0:2);
write('Произведение чисел из диапазона [',c:0:1,';',d:0:1,']=',pro(a2):0:2);
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подпрограммы nolx Помощь студентам 8 15.02.2011 18:08
Подпрограммы superDmitry Помощь студентам 1 10.12.2010 19:10
Подпрограммы-процедуры, подпрограммы-функции в Pascal rishikesh Помощь студентам 19 18.05.2010 23:05
Подпрограммы Neyrone Помощь студентам 8 14.12.2009 12:56