1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Переделать программу с двумерным статическим массивом ...., Ни как не пойму, как переделать...
Ни как не пойму, как переделать программу с двумерным статическим массивом в двумерный динамический массив..., но ещё нужно сделать так, чтобы сохранять таблицу в файл.
И ещё одно требование : Данные хранятся в виде динамической таблицы, организованной с помощью столбца указателей на строки(или строки указателей на столбцы - в зависимости от алгоритма). Описаны типы "указателей на таблицу" и "указатель на строку(столбец) таблицы"
И условие таково Среди чисел заданной строки таблицы найти такое, которое принадлежит наибольшему кол - ву столбцов таблицы.
type Telem = single; Tmas = array[1..mmax, 1..nmax] of Telem; Tmas1 = array[1..nmax] of TElem; TError = boolean;
procedure sravnenie(var a: Tmas; m, n: integer; var B: Tmas1; var nom: integer); var i, j: integer; maxsum, sum: Telem; begin nom := 0; maxsum := -1.0e20; for j := 1 to n do begin sum := 0; for i := 1 to m do sum := sum + a[i, j]; if sum > maxsum then begin maxsum := sum; nom := j end; end;
for j := 1 to n do begin B[j] := 0; for i := 1 to m do B[j] := B[j] + a[i, j] * a[i, nom] end end;
procedure AskUser(var m,n:integer); begin repeat write('‚ўҐ¤Ґ¬ Є®«ЁзҐбвў® бва®Є: '); readln(m); write('‚ўҐ¤Ґ¬ Є®«ЁзҐбвў® бв®«Ўж®ў: '); readln(n) until (m < mmax) and (n < nmax) and (m > 0) and (n > 0); end;
{‚ў®¤Ё¬ ¬ ббЁў "ђгЄ ¬Ё"} function aReadArray(var a: Tmas; var m, n: integer): TError; var i, j: integer; begin AskUser(m, n); aReadArray := true; for i := 1 to m do for j := 1 to n do begin write('‚ўҐ¤ЁвҐ a[', i, ', ', j, ']: '); {$I-} readln(a[i, j]); {$I+} if IOResult <> 0 then begin writeln('ЋиЁЎЄ : Ґ пў«пҐвбп з¬б«®¬'); aReadArray := false; exit end end end;
procedure PrintArray(Var a:Tmas;var m,n:integer); var i,j:integer; begin for i := 1 to m do begin for j := 1 to n do begin
write(Pro1,a[i, j]:6:2) end; writeln end; end;
procedure pak(var B:Tmas1;var a:Tmas;var nom,m,n:integer); var j:integer; begin sravnenie(a,m,n,B,nom); writeln('Nom: ', nom); for j := 1 to n do writeln(j, ': ',Pro1,B[j]:7:3); end;