Предмет: Информатика,
автор: Tamarisa
Написать программу с процедурами в Паскале:
Составить программу, которая перезаписывает двумерный массив в файл. Размеры массива задает пользователь.
Ответы
Автор ответа:
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
Работа завершена
// Внимание! Если программа не работает, обновите версию!
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
Работа завершена
Похожие вопросы
Предмет: Английский язык,
автор: Аноним
Предмет: Английский язык,
автор: larisagrigoryan11
Предмет: История,
автор: vikaprotsenko2006
Предмет: Физика,
автор: Vovan14krytoy
Предмет: Химия,
автор: gramotej