Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Программа с несколькими процедурами, Паскаль (http://www.tehnari.ru/f41/t95989/)

"Программист" 25.04.2014 00:07

Программа с несколькими процедурами, Паскаль
 
Помогите с задачкой:tehnari_ru_117:

Составить программу по заданному условию. Первая часть условия является заданием на разработку процедуры П1 с параметром в виде функции f или (f1 и f2). Условие второй части задания – головного модуля — предполагает обязательное использование разработанной процедуры П1 с функцией (f или f1, f2) в качестве параметра. В качестве исходного данного в большинстве заданий используется квадратная матрица А.

Для двух массивов В и С одинаковой длины составить процедуру, формирующую массив Т, по длине совпадающий с исходными, каждый элемент которого Тk равен сумме Вi и Сi в случае, если f2(Сi) > f1(Вi) > 0. Если массив Т по длине получается меньше исходных, то он дополняется нулями.

Не понятно что требуется, запутался...

На счёт массивов понятно примерно,
B: mas = (1, 2, 4, 3, 6, 0, 2, -8, 9, -4);
C: mas = (7, 1, -3, 4, 0, -6, -7, 5, 3, 9);
примерно...
...for i:=1 to n do
Begin
if C[i] > B[i] and B[i] > 0 then Tk:=B[i]+C[i]
а дальше не понял...

Помогите пожалуйста tehno036

Vladimir_S 25.04.2014 09:48

Цитата:

Сообщение от "Программист" (Сообщение 1027335)
Не понятно что требуется, запутался...

Требуется задать функции f1 и f2.

Евгений 27.04.2014 14:38

Если, конечно, я правильно понял:

Цитата:

const n= 10;
type Tmass= array[1..n] of integer;
function f: Tmass;
var i:byte;
arg: Tmass;
begin
Randomize;
for i:=1 to n do
arg[i]:= Random(15)-5;
f:=arg;
end;
procedure Formir(var T: Tmass);
var A,B: Tmass;
i,e: byte;
begin
A:= f;
B:= f;
e:=1;
for i:=1 to n do
if (A[1]> B[i]) and ( B[i]>0) then begin
T[e]:= A[i]+B[i];
Inc(e);
end;
if e<n then
for i:=e to n do
T[i]:=0;
end;
var T: Tmass;
i: byte;
begin
Formir(T);
for i:=1 to n do
Write(T[i]:4);
Readln;
end.

"Программист" 28.04.2014 02:19

можно без рандомиза? и что это?
ещё с двумя функциями надо, я не понимаю вообще как делать.

Madara 28.04.2014 02:59

Randomize - это счётчик случайных чисел, то-есть он выдаёт случайные числа в заданном диапазоне.

PHP код:

const n10;

type Tmass= array[1..nof integer;

function 
f1Tmass;
var 
i:byte;
argTmass;
begin
arg
[1]:=1arg[2]:=2arg[3]:=3arg[4]:=4arg[5]:=5arg[6]:=-3arg[7]:=3arg[8]:=3arg[9]:=3arg[10]:=3
f1:=arg;
end;

function 
f2Tmass;
var 
i:byte;
argTmass;
begin
arg
[1]:=2arg[2]:=4arg[3]:=6arg[4]:=9arg[5]:=0arg[6]:=4arg[7]:=2arg[8]:=3arg[9]:=3arg[10]:=6
f2:=arg;
end;

procedure Formir(var TTmass);                      
var 
C,BTmass;                          
i,kbyte;                                    
begin                                            
B
:= f1;                                        
C:= f2;                                                    
k:=1;                                                          
for 
i:=1 to n do                                                    
if (
C[i] > B[i]) and ( B[i]>0then                                                
begin                                                              
T
[k]:= C[i]+B[i];                                                             
Inc(k);                                                        
end;                                                       
if 
k<n then                                                             
for i:=k to n do                                                                          
T[i]:=0;                                                              
end;

var 
TTmass;
ibyte;

begin
Writeln
('Rezultat slozheniya B i C pri Ci>Bi>0 :');
Writeln;
Formir(T);
for 
i:=1 to n do
Write(T[i]:4);
end

Вот, держи. Кое-что поправил тут, если ты так хочешь прямо по заданию (T[k] и 2 функции...)
Только не суди строго, я сам горе-программист.:bsod:


Часовой пояс GMT +4, время: 00:09.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.