Написать программу с процедурами в Паскале: Составить программу, которая перезаписывает...

0 голосов
19 просмотров

Написать программу с процедурами в Паскале:

Составить программу, которая перезаписывает двумерный массив в файл. Размеры массива задает пользователь.


Информатика (65 баллов) | 19 просмотров
0

Может я туплю, но что значит с процедурами???? Какие процедуры можно впихнуть в простейшую программу, где даже считать нечего?

0

Ну куда уж нам до гениев та

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

function MatrCreate(m,n:integer):array[,] of integer;
begin
  Writeln('*** Исходный массив A[',m,',',n,'] ***');
  Result:=MatrRandom(m,n,-50,50);
  Result.Println(4);
  Writeln(4*n*'-');
end;

procedure Matr2File(a:array[,] of integer; fn:string);
begin
  var f:file of integer;
  ReWrite(f,fn);
  foreach var r in a.Rows do
    foreach var x in r do Write(f,x);
  f.Close
end;

begin
  var m:=ReadlnInteger('Количество строк в массиве:');
  var n:=ReadlnInteger('Количество столбцов в массиве:');
  var a:=MatrCreate(m,n);
  var s:=ReadlnString('Имя файла:');
  Matr2File(a,s);
  Writeln('Работа завершена')
end.

Пример
Количество строк в массиве: 6
Количество столбцов в массиве: 9
*** Исходный массив A[6,9] ***
  -8  47 -37   8  23  47 -18   5  18
  13 -29   9 -12 -44 -27 -21 -20  11
  17 -18  18  30  14 -42 -34  16  49
  -4 -25  47 -28 -25 -20  39  44 -46
  18 -45  39  12   3  24  27  16 -23
  27  48  30  33 -38 -30  34  35 -50
------------------------------------
Имя файла: MyFile.bin
Работа завершена
(150k баллов)
0

Гений