Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Пару вопросов по программе :)

Автор: DarkMoonSide 14.02.2009 6:27

 Program tp_10;
Uses crt;
Type
Tmas=array [1..10,1..10] of real;
tchk=^tmas;
Var
A:tchk;
n,m:integer;
max,min:real;
name:string;
PROCEDURE INPUT(var x:tchk;var name:string;var n,m:integer);
var
i,j:integer;
begin
write('Enter a variable name:');
read(name);
write('Enter quantity of lines:');
read(n);
write('Enter quantity of columns:');
read(m);

for i:=1 to n do
for j:=1 to m do
begin
Write('Enter:',name,'[',i,',',j,']:');
Read(x^[i,j]);
end;
clrscr;
end;
PROCEDURE MAXMIN( var x:tchk;var n,m:integer;var max,min:real);
var
i,j:integer;
begin
max:=x^[1,1];
for i:=1 to n do
for j:=1 to m do
if x^[i,j]>max then
max:=x^[i,j];


min:=x^[1,1];
for i:=1 to n do
for j:=1 to m do
if x^[i,j]<min then
min:=x^[i,j];
end;
PROCEDURE OUTPUT(var x:tchk;var n,m:integer;name:string);

var
i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
write(' ', x^[i,j]:4 :2,' ');
writeln;
end;
end;
Begin
clrscr;
New(A);
Input(A,name,n,m);
maxmin(A,n,m,max,min);

writeln;
Writeln(' Labaratornaya rabota tp_10');
Writeln(' Tema:Dynamic memory');
Writeln(' Studentki gryppi pz651');
Writeln(' Kolomoec Diani');
writeln;
Writeln(' -----Initial Matrix-----');
output(A,n,m,name);
writeln;
Writeln(' Result of performance of the program:');
Writeln(' - - - - - - - - - - - - - -');
writeln(' | The maximum element=',max:4 :2,'|');
writeln;
writeln(' | The minimum element=',min:4 :2,'|');
writeln(' - - - - - - - - - - - - - -');
readln;
readkey;
Dispose(a);
end.

Собсно в чем вопрос, как сделать так, что бы выдавало вопрос
Ввести матрицу руками или создать случайно, и как в функции рандома ставить диапазон случайных чисел? rolleyes.gif

Автор: Lapp 14.02.2009 20:09

Цитата(DarkMoonSide @ 14.02.2009 2:27) *
как в функции рандома ставить диапазон случайных чисел?
Тебе нужно действительные случайные числа или целые?
Если действительные, то можно так:
r:=a+(b-a)*Random;


Если целые, то типа так:
r:=a+Random(b-a+1);


Здесь a и b - границы диапазона.