Форум «Всё о Паскале» _ Задачи _ Задача на проверку матрицы на симметричность относительно побочной диагонали
Автор: djdenisoff 29.09.2011 0:08
Ребята,помогите!!!К пятнице надо сделать задачу!!!!! Условие:проверить матрицу на симметричность относительно главной диагонали.Матрица вводится с текстового файла.Решить с помощью динамических переменных.
Надо написать процедуру Ворк,написать её не знаю как....Проблема в том,что надо придумать формулу...Помогите пожалуйста
Автор: Lapp 29.09.2011 13:00
Цитата(djdenisoff @ 29.09.2011 9:07)
Надо написать процедуру Ворк,написать её не знаю как....Проблема в том,что надо придумать формулу...Помогите пожалуйста
Это можно. Только не процедуру, функцию. (в этом коде ошибка, исправленный см. ниже)
type tArr= array of array of integer;
function Symmetric(a: tArr): boolean; var i,j: integer; begin for i:=2 to Length(a) do for j:=1 to i-1 do if a[i,j]<>a[j,i] then begin Symmetric:= false; exit end; Symmetric:= true end;
...
Если не в курсе про динамические массивы - спрашивай, расскажем. Или переделывай на статические..
Автор: IUnknown 29.09.2011 14:58
Андрей, вылета не боишься на Length(a) (при использовании дин. массивов)?
Автор: djdenisoff 29.09.2011 21:01
Цитата(Lapp @ 29.09.2011 9:00)
Это можно. Только не процедуру, функцию.
type tArr= array of array of integer;
function Symmetric(a: tArr): boolean; var i,j: integer; begin for i:=2 to Length(a) do for j:=1 to i-1 do if a[i,j]<>a[j,i] then begin Symmetric:= false; exit end; Symmetric:= true end;
...
Если не в курсе про динамические массивы - спрашивай, расскажем. Или переделывай на статические..
было бы лучше процедуру написать...так требует препод....помогите
Автор: sheka 29.09.2011 21:30
procedure qwerty(a: tArr, var Symmetric: boolean); Также учти пожелания Volvo.
Автор: djdenisoff 30.09.2011 0:32
Помогите.программа идёт.но выводит цифру из матрицы и ответ.надо чтобы выводило только ответ.Условия задачи те же.
Андрей, вылета не боишься на Length(a) (при использовании дин. массивов)?
Oops! Sorry.. Спасибо, Володь, +1 ))
Исправленный код:
type tArr= array of array of integer;
function Symmetric(a: tArr): boolean; var i,j: integer; begin for i:=1 to Length(a) do for j:=0 to i-1 do if a[i,j]<>a[j,i] then begin Symmetric:= false; exit end; Symmetric:= true end;
...
Цитата
было бы лучше процедуру написать...так требует препод....помогите
Ты же просил "придумать тебе формулу"! Тебе дали ГОРАЗДО БОЛЬШЕ. Извини, если ты не можешь переделать функцию в процедуру, интнрес к твоей персоне испаряется.. Асталависта, учи язык.
Автор: djdenisoff 30.09.2011 23:32
Цитата(Lapp @ 30.09.2011 0:27)
Oops! Sorry.. Спасибо, Володь, +1 ))
Исправленный код:
type tArr= array of array of integer;
function Symmetric(a: tArr): boolean; var i,j: integer; begin for i:=1 to Length(a) do for j:=0 to i-1 do if a[i,j]<>a[j,i] then begin Symmetric:= false; exit end; Symmetric:= true end;
...
Ты же просил "придумать тебе формулу"! Тебе дали ГОРАЗДО БОЛЬШЕ. Извини, если ты не можешь переделать функцию в процедуру, интнрес к твоей персоне испаряется.. Асталависта, учи язык.