Turbo Pascal

dreamer

Member
Ответ: Turbo Pascal

приведи пример чтоб оно работало.
допустим есть файл file.bat он находится тут - D:\

от запусти ты мне его етими процедурами
Код:
{$M $4000,0,0 } {не выделять память для кучи - иначе не хватит для запуска}
uses dos;
begin
    exec(getenv('comspec'),'/C some_command_file.bat');
end.
bat файлы сами по себе не исполняемые, их нужно передавать как параметры интерпретатору. Путь к нему лежит в переменной среды COMSPEC
 

Русечкин

♥♠♣•♀?♪ §╘
Ответ: Turbo Pascal

Помогите пожалуйста решить задачку

Дано двовимірний масив Р(4х2) використовуючи данний масив виконати наступні дії

Визначити кількість елементів масиву які не дорівнюють числам 3 та -3

Змінити елементи данного масиву Р на число 5


Я решил следующим образом
program IDZ4;
uses CRT;
var P: array [1..4,1..2] of integer;
z,i,j,k,Ink:integer;
begin
clrscr;
randomize;
for i:=1 to 4 do
for j:=1 to 2 do
P [i,j]:=random (35)-20;
for i:=1 to 4 do
begin
for j:=1 to 2 do
write ( P [i,j]:4);
writeln;
end;
begin
for i:=1 to 4 do
for j:=1 to 2 do
if (P[i,j]<>3) and (P[i,j]<>-3)
then Inc(z);
writeln ('z=',z);
end;
begin
for i:=1 to 4 do
for j:=1 to 2 do
begin
if p[i,j]<>0 then p[i,j]:=5;
writeln(p[i,j]:10);
writeln;
end;
end;
readkey;
end.


А нужно через Процедуры. Подскажите пожалуйста как это сделать. Я просто не прецтавляю как можно решать масив через процедуры!
 

Vladimir B.

милый добрый кот
Модератор
Ответ: Turbo Pascal

Я просто не прецтавляю как можно решать масив через процедуры!
Как взбредет:
  • передать указатель на массив + количество элементов
  • объявить массив глобальным типом и использовать его в процедуре - "дешево и сердито"
  • etc!..
 

Русечкин

♥♠♣•♀?♪ §╘
Ответ: Turbo Pascal

Помогите пожалуйста решить задачку

Дано двовимірний масив Р(4х2) використовуючи данний масив виконати наступні дії

Визначити кількість елементів масиву які не дорівнюють числам 3 та -3

Змінити елементи данного масиву Р на число 5


Я решил следующим образом
program IDZ4;
uses CRT;
var P: array [1..4,1..2] of integer;
z,i,j,k,Ink:integer;
begin
clrscr;
randomize;
for i:=1 to 4 do
for j:=1 to 2 do
P [i,j]:=random (35)-20;
for i:=1 to 4 do
begin
for j:=1 to 2 do
write ( P [i,j]:4);
writeln;
end;
begin
for i:=1 to 4 do
for j:=1 to 2 do
if (P[i,j]<>3) and (P[i,j]<>-3)
then Inc(z);
writeln ('z=',z);
end;
begin
for i:=1 to 4 do
for j:=1 to 2 do
begin
if p[i,j]<>0 then p[i,j]:=5;
writeln(p[i,j]:10);
writeln;
end;
end;
readkey;
end.


А нужно через Процедуры. Подскажите пожалуйста как это сделать. Я просто не прецтавляю как можно решать масив через процедуры!

Помогите пожалуйста решить эту бредятину через Процедуры!
 

akick

letter to god
Ответ: Turbo Pascal

Код:
program IDZ4;
USES CRT;
const C = 3;  // rows
const R = 1;  // cols
//start array procedure
procedure FuckArray(var arr: array[0..R,0..C] of integer);
var i,j,my:integer;
begin
  clrscr;
  my := 0;
  
  for i := 0 to  R do
  begin
    for j := 0 to  C do
    begin
        write(' ',arr[i,j],' ');    // printing input array
    end;
    writeln;
  end;
  writeln(' - - - - - - ');
  for i := 0 to  R do
    for j := 0 to  C do
      if(  ( arr[i,j] =  3 ) or ( arr[i,j] =  -3 ) ) then
        inc(my);                   // search to 3,-3
  writeln('Elements [3],[-3] in array: ',my);
  writeln(' - - - - - - ');
  for i := 0 to  R do
  begin
    for j := 0 to  C do
    begin
        arr[i,j] := 5;               // replace elements in array to 5
        write(' ',arr[i,j],' ');
    end;
    writeln;
  end;
  
end;
// end procedure block

var
  matr: array[0..R,0..C] of integer;
  not_3,i,j: integer;

begin

Randomize;

  for i := 0 to R do
    for j := 0 to C do
      matr[i,j] := Random(4);        // initialize the array

  fuckArray(matr);  // using procedure

end.
ЗЫ: чуть не забув сделал в Pascal ABC :)
 

Русечкин

♥♠♣•♀?♪ §╘
Ответ: Turbo Pascal

Код:
program IDZ4;
USES CRT;
const C = 3;  // rows
const R = 1;  // cols
//start array procedure
procedure FuckArray(var arr: array[0..R,0..C] of integer);
var i,j,my:integer;
begin
  clrscr;
  my := 0;
  
  for i := 0 to  R do
  begin
    for j := 0 to  C do
    begin
        write(' ',arr[i,j],' ');    // printing input array
    end;
    writeln;
  end;
  writeln(' - - - - - - ');
  for i := 0 to  R do
    for j := 0 to  C do
      if(  ( arr[i,j] =  3 ) or ( arr[i,j] =  -3 ) ) then
        inc(my);                   // search to 3,-3
  writeln('Elements [3],[-3] in array: ',my);
  writeln(' - - - - - - ');
  for i := 0 to  R do
  begin
    for j := 0 to  C do
    begin
        arr[i,j] := 5;               // replace elements in array to 5
        write(' ',arr[i,j],' ');
    end;
    writeln;
  end;
  
end;
// end procedure block

var
  matr: array[0..R,0..C] of integer;
  not_3,i,j: integer;

begin

Randomize;

  for i := 0 to R do
    for j := 0 to C do
      matr[i,j] := Random(4);        // initialize the array

  fuckArray(matr);  // using procedure

end.
ЗЫ: чуть не забув сделал в Pascal ABC :)

а на нормальный паскаль?
 

Hamster

Well-Known Member
А на нормальный паскаль трошки по другому
например

program IDZ4;
USES CRT;
type ggg = array [1..5,1..8] of integer;
procedure FuckArray(var arr: ggg);
.........................................
 

Micle Owen

New Member
Ответ: Turbo Pascal

на турбо и борланд паскале
. . .
procedure fuckarray(var arr:array of integer);
. . .
 
Зверху