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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2010, 11:52   #1
malinoff
Форумчанин
 
Аватар для malinoff
 
Регистрация: 08.01.2010
Сообщений: 205
По умолчанию Паскаль. Проблема с функцией.

Всем доброго времени суток. По заданию необходимо написать функцию, отслеживающую похожие столбцы матрицы и выводящую на экран количество непохожих столбцов-столбцы считаются похожими, если количество чисел и сами числа совпадают. Делать проверку на повторение не надо. Написал функцию, в статике считает правильно, в динамике работает только на непохожих матрицах, если все столбцы похожи-выдает результатом 2.
Код:
type
 TElem = real;
 TDTable = ^TTable;
 TTable = array[0..0] of TElem;
 TDMatrix = ^TMatrix;
 TMatrix = array[0..0] of TDTable;
var
 a : TDMatrix;

function same(var a1 : TDMatrix; N1, N2 : integer; var size1:integer):boolean;
var
 i,j,N:integer;
begin
N:=0;
same:=false;
 for i:=0 to size1 - 1 do begin
  for j:=0 to size1 - 1 do begin
   if a1^[i]^[N1] = a1^[j]^[N2] then begin
    N:=N+1;
    break;
   end;
  end;
 end;
 if N = size1 then
 same:=true;
end;

function CountSame(var a1:TDMatrix; var size1, size2:integer): integer;
var
 q,w,Res:integer;
begin
 Res:=0;
 for q:=1 to size2-1 do begin
  for w:=q+1 to size2 do begin
   if same(a1,q,w,size2)=true then
   break;
   if w=size2 then
   Res:=Res+1;
  end;
 end;
 for q:=1 to size2-1 do begin
  if same(a1,q,size2,size2) then
  break;
  if q = size2-1 then
  Res:=Res+1;
 end;
 CountSame:=Res;
end;
Пожалуйста, подскажите, в чем ошибка?
Если помог - кликни на значок весов под аватаром.
malinoff вне форума Ответить с цитированием
Старый 08.01.2010, 17:00   #2
malinoff
Форумчанин
 
Аватар для malinoff
 
Регистрация: 08.01.2010
Сообщений: 205
По умолчанию

Ошибку нашел, тему можно закрывать.
Если помог - кликни на значок весов под аватаром.
malinoff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с функцией DX3DInit k1r1ch Общие вопросы Delphi 6 08.09.2009 16:29
Проблема с функцией Replace... Oooleg Microsoft Office Excel 7 02.09.2009 05:22
Проблема с функцией замены... dast Microsoft Office Excel 6 09.10.2008 20:30
проблема с функцией atoi Darw1n Общие вопросы C/C++ 2 08.10.2008 23:21