Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2012, 20:16   #1
kalosha-stepa
Пользователь
 
Регистрация: 13.09.2012
Сообщений: 25
По умолчанию Диагональность матрицы

что-то не выходит где то ошибка в условии

program z3;
Type masInt=array [1..10,1..10] of integer;
var a:masInt; n: integer; i,j:integer; b,c: boolean;

procedure Form (var n:integer;var a:masInt);
var f: text;i, j: integer;
begin
assign(f, '3.txt');
reset(f);
readln(f, n);
for i := 1 to n do
begin
for j := 1 to n do read(f, a[i, j]);
readln(f);
end;
close(f);
end;

procedure Print (a: masInt; n: integer);
var i,j: integer;
begin
for i:=1 to n do begin
for j:=1 to n do write (a[i,j],' ');
writeln;
end; end;

procedure Dioganal (a: masInt;n: integer);
var i,j: integer;
begin
b:=true; c:=true;
i:=1;
While (i<=n)and b and c do
begin
j:=1;
while (j<=n)and b and c do begin
if b and (j>i) and (a[i,j]<>a[j,i]) then b:=false;
if c and ((n-j)<i)and (n-i>0)and(n-j>0)and(a[i,j]<>a[n-i,n-j]) then c:=false;
inc(j);
end;
inc(i);
end;
end;

Begin
Form(n,a);
Print(a,n);
Dioganal(a,n);

if (not c) and (not b) then writeln('не симметрична')
else if c=true then writeln('симметрична относительно побочной')
else if b=true then writeln('симметричен относительно главной')
else writeln('симметричен везде')
End.
kalosha-stepa вне форума Ответить с цитированием
Старый 27.09.2012, 20:32   #2
domovou
Пользователь
 
Аватар для domovou
 
Регистрация: 01.09.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от kalosha-stepa Посмотреть сообщение
что-то не выходит где то ошибка в условии

program z3;
Type masInt=array [1..10,1..10] of integer;
var a:masInt; n: integer; i,j:integer; b,c: boolean;

procedure Form (var n:integer;var a:masInt);
var f: text;i, j: integer;
begin
assign(f, '3.txt');
reset(f);
readln(f, n);
for i := 1 to n do
begin
for j := 1 to n do read(f, a[i, j]);
readln(f);
end;
close(f);
end;
...
Ты считываешь из файла массив, Но я так и не увидел как ты его туда записываешь
Программист - это не тот, кто пишет программы, а тот, чьи программы работают.
domovou вне форума Ответить с цитированием
Старый 27.09.2012, 20:41   #3
kalosha-stepa
Пользователь
 
Регистрация: 13.09.2012
Сообщений: 25
По умолчанию

Я создаю тестовый файл уже с этой матрицей и потом вывожу симметрична или нет
kalosha-stepa вне форума Ответить с цитированием
Старый 27.09.2012, 21:24   #4
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Скинь сюда полное условие задачи.

К примеру симметричность относительно главное диагонали можна проверить так:

Код:
for i:=1 to n do
 for j:=i to n do begin
   if a[i,j] = a[j,i] then {true} else {false}
Ну а побочной так:
Код:
for i:=1 to n do
    for j:=1 to n-i do
        if a[i,j] = a[n-i+1,n-j+1] then {true}  {для побочной}
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 27.09.2012, 22:28   #5
kalosha-stepa
Пользователь
 
Регистрация: 13.09.2012
Сообщений: 25
По умолчанию

Проверить является ли массив n*n симметричным относительно одной из его диагоналей.
kalosha-stepa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В каждой строке матрицы А(n*n) найти наибольший и наименьший элементы матрицы и поменять их местами saha1994 Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 20:38
Первый элемент - размерность матрицы, остальные образуют строки этой матрицы Anastasiya_Pot Помощь студентам 2 10.04.2012 09:46
С++.три матрицы, упорядочить строки той матрицы у которой больше нулевых строк Ирина1992 Помощь студентам 12 20.11.2011 13:01
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19