Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 229

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Не могли бы вы помочь вы написании данной программы:
Определить является ли заданная квадратная матрица произвольного порядка составленная из целых чисел, симметричной относительно главной диагонали.
Если возможно то привести блок-схему.
Заранее спасибо!

Денис-1606 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Денис-1606 (статус: Посетитель)
Вопрос отправлен: 26 декабря 2007, 13:15
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Николай Рубан

Здравствуйте, Денис!

Вот функция, которая делает проверку является ли заданная квадратная матрица симметричной относительно главной диагонали.

const n=4;
type mas=array [1..n,1..n] of integer;
 
{функция которая выдает значение TRUE, если мастрица симметрична относительно
главной диагонали и FALSE в противном случае}
function simetr(x:mas):boolean;
var i,j:integer;
begin
  Result:=true;
  for i:=1 to n do
    for j:=i+1 to n-1 do
    if x[i,j]<>x[j,i] then begin Result:=false; break; end;
end;

В приложении Вы сможете увидеть полный код. Для простоты я массивы НЕ вводил, а описал в виде констант.
Обращаю Ваше внимание на то, что для правильной работы функции специально объявлен тип
type mas=array [1..n,1..n] of integer;
и соответственно в константе n
const n=4;
занесена размерность матрицы.

Good Luck!!!

Приложение:
  1. const n=4;
  2. type mas=array [1..n,1..n] of integer;
  3.  
  4.  
  5.  
  6. function simetr(x:mas):boolean;
  7. var i,j:integer;
  8. begin
  9. Result:=true;
  10. for i:=1 to n do
  11. for j:=i+1 to n-1 do
  12. if x[i,j]<>x[j,i] then begin Result:=false; break; end;
  13. end;
  14.  
  15. const a:mas=((1,2,3,4),(2,0,7,8),(3,7,6,9),(4,8,9,-2));
  16. b:mas=((1,2,3,4),(12,0,7,8),(3,7,6,9),(4,8,9,-2));
  17. begin
  18.  
  19.  
  20. readln;
  21. end.
  22.  


Ответ отправил: Николай Рубан (статус: 10-ый класс)
Время отправки: 26 декабря 2007, 23:09
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 26 декабря 2007, 13:17; участников в обсуждении: 1.
Денис-1606

Денис-1606 (статус: Посетитель), 26 декабря 2007, 13:17 [#1]:

Точне выражаясь не помочь с написанием программы, а именно написать ее...Блин, полгода учусь и ни одной программы не смог написать...А сессия то близко-близко...Заранее спасибо

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:59
Выполнено за 0.03 сек.