квадратний масив

квадратний масив

Підкажіть будь ласка як можна визначити в квадратному масиві NxN в кожній його рядку зустрічаються все числа від 1 до N по одному разу

У вас погано з переказом. Ніфіга не зрозуміло.
Передрукуйте дослівно завдання з задачника.

Підкажіть будь ласка як можна визначити в квадратному масиві NxN зустрічаються чи все числа від 1 до N по одному разу в кожній його рядку

Достатньо однієї таблетки

> Квадратний масив
Добре хоч не круглий.

Не хочу заважати вам приколюватися так як сам це люблю робити, але якщо ви знаєте як допомогти людині, то чому б цього не зробити.


> Saty (02.05.03 15:23)

намалюй на папірці квадрат, заповни його числами від балди, і перевір його, щоб все числа зустрічає по одному разу.
під час перевірки стеж за ходом своїх думок, склади алгоритм, як ти діяв, напиши все на листочку крок за кроком, потім вже намагайся реалізувати.

Боюся знову не зовсім мені зрозуміло.

Тобто треба перевірити, що в кожному рядку числа від 1 до N:
а) присутні
б) зустрічаються тільки 1 раз

Якщо вірно, то бачу таке рішення в лоб. (Напевно можна і якось красиво, але треба думати.)
Так, прошу вибачення, можу набрехати в синтаксисі доступу до багатовимірного масиву. Сам користуюся цим рідко, а уточнювати в довідці - лінь. Але думаю, що буде зрозуміло.

var
Arr: array [1..N, 1..N] of integer; // наш квадратний масив
CntArr: array [1..N] of integer; // наш допоміжний масив
i, j: Integer; // а куди без них?
begin
for i: = 1 to N do
begin
// для початку почистимо допоміжний масив
for j: = 1 to N do
CntArr [j]: = 0;
// тепер для тек. рядки порахуємо кількість кожної цифри
for j: = 1 to N do
if (Arr [i, j]> = 1) AND (Arr [i, j] <= N) then
Inc (CntArr [Arr [i, j]]);
// тепер перевіримо чи числа зустрілися і 1 чи раз
for j: = 1 to N do
if CntArr [j] <> 1 then
begin // хоч для одного рядка умови не виконуються - вихід
ShowMessage ( "Ай-яй-яй! Умови не виконуються!");
Abort; // ну або інший відповідний метод перервати все це неподобство
end;
end; // for i
ShowMessage ( "Умови виконуються");
end;

Пам'ять: 0.73 MB
Час: 0.043 c