Двумерный массив TP

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
albanec
Сообщения: 3
Зарегистрирован: 01 май 2008, 13:34

Дан двумерный массив размером 7х6 нужно определить если ли в столбце имеются одинаковые элементы.
Sender Ghost
Сообщения: 5
Зарегистрирован: 17 май 2008, 02:10

[syntax='Delphi']
program IdenticalElements;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
i, j, k, m, n: Integer;
mas: Array of Array of Integer;
identical: Array of Boolean;
begin
m := 7; n := 6; // Размерность матрицы
// Динамическое выделение памяти
SetLength(mas, m); SetLength(identical, n);
for i := 0 to m - 1 do SetLength(mas, n);
Randomize;
// Заполнение матрицы случайными величинами
for i := 0 to m - 1 do
for j := 0 to n - 1 do
begin
mas[j] := Random(100);
end;
// Поиск одинаковых элементов в столбцах матрицы
for j := 0 to n - 1 do
begin
identical[j] := False;
for i := 0 to m - 1 do
for k := i + 1 to m - 1 do
if mas[j] = mas[k][j] then
begin
identical[j] := True;
Break;
end;
end;
// Вывод содержимого матрицы
for i := 0 to m - 1 do
begin
for j := 0 to n - 1 do
Write(mas[j]:3);
Writeln;
end;
// Вывод о совпадении элементов
for j := 0 to n - 1 do
if identical[j] then Write('T':3) else Write('F':3);
end.
[/syntax]
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

Sender Ghost писал(а):[syntax='Delphi']
program IdenticalElements;

{$APPTYPE CONSOLE}


// Динамическое выделение памяти
SetLength(mas, m); SetLength(identical, n);
[/syntax]


Речь идет о написании программы на Turbo Pascal, там динамических массивов нет.
Ни что так не ограничивает фантазию программиста, как компилятор...
Sender Ghost
Сообщения: 5
Зарегистрирован: 17 май 2008, 02:10

MOTOCoder писал(а):Речь идет о написании программы на Turbo Pascal, там динамических массивов нет.
Тогда область объявления констант и переменных следующая:
[syntax='Pascal']
const
m = 7;
n = 6;
var
i, j, k: Integer;
mas: Array [0..m, 0..n] of Integer;
identical: Array [0..m] of Boolean;
[/syntax]
Ответить