IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите, с программкой, В самом конце затруднение
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


Вот задание:
Латинский квадрат. Латинским квадратом пордка n называется квадратная таблица размером nxn каждая строка и каждый столбец которой содержит все числа от 1 до n. Проверить является ли заданная целочисленная матрица латинским квадратом.

const nmax=100;mmax=100;
type matrix=array [1..nmax,1..mmax] of real;
var k,i,j,n,m:integer;
x:real;
a:matrix;
f:boolean;
begin
writeln('Vvedite mashtab matrix');
read (n,m);
writeln('vvedite matrix');
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
begin
for i:=1 to n do
for k:=1 to n-1 do
begin
j:=1;
repeat {упорядочивает эл-ты каждой строки матрицы по возрастанию }
if a[i,j]>a[i,j+1] then
begin
x:=a[i,j+1];
a[i,j+1]:=a[i,j];
a[i,j]:=x;
j:=j+1;
end
else
j:=j+1
until (j=n);
end;
begin
writeln ('_____MATRICA_____');
for i:=1 to n do
begin
for j:=1 to m do
write(' ', a[i,j]);
writeln;
end;
f:=false;
j:=1;
for i:=1 to n do
for j:=1 to m do
if (m=n) and (a[i,j+1]-a[i,j]=1) then {Вот тута и проблемка если следующий эл-нт меньше
предыдущего на 1 то латинский квадрат иначне нет.
Но у мя че то не получается, а мозги уже отказываются думать =) }
f:=true;
if f then
writeln ('matrica Latinskii kvadrat')
else
writeln ('matrica ne latinskii kvadrat')
end;
end;
end.



Напишите плиз что там за проверочку в конце надо поставить =)

Сообщение отредактировано: sintanial -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
но ведь
35241
21354
43125
52413
14532
Это как я понимаю тоже латинский квадрат.

А ты что, после сортировки в состоянии отличить, сортировалась ли матрица, которую ты привел, или
12345
12345
21345
12345
13245
? Упорядоченные-то матрицы будут одинаковы!!! И что? то, что привел я - тоже латинский квадрат?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 14:27
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name