Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.12.2011, 23:16
LostPulse LostPulse вне форума
Прохожий
 
Регистрация: 14.12.2011
Сообщения: 1
Репутация: 10
По умолчанию 2 задачи (доделать, а не с нуля)

Задана матрица А размером NxM. Получить массив В, присвоив его к-му элементу значение 1,если к-я строка матрицы симметрична и значение 0 в противном случае.
Ошибка в том,что программа выдает во 2 стринггрид только каждый 5ый ответ.притом не верный
в чем проблема?
Код:
procedure TForm5.Button4Click(Sender: TObject);
 var
  i,j:byte;
  A:array [1..100,1..100] of Integer;
  b: Boolean;
  n,m:Byte;
begin
  m:=SpinEdit2.Value;
  N:=SpinEdit1.Value;
  for j := 0 to m - 1 do
    begin
      b:=True;
      for i:=0 to (N div 2) do
      begin
      if a[i,j]=a[n-i,j] then
      b:=False;
      end;

      if b = False then
        StringGrid2.Cells[0, i] := '0'
      else
        StringGrid2.Cells[0, i] := '1';
    end;

end;
end.
Админ: Пользуемся тегами для оформления кода!

2)переделать из паскаля в делфи
http://www.cyberforum.ru/post1024721.html
нужно упорядочить 2-умерный массив по возрастанию элементов каждой строки
выручайте!очень нужно!!!

Последний раз редактировалось Admin, 15.12.2011 в 09:43.
Ответить с цитированием
  #2  
Старый 14.12.2011, 23:42
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

2. Если я правильно понял

Код не проверял.

Код:
type
 TRow = array of integer;

 TMatrix = array of TRow;

procedure SortRow(var Row: TRow);
var
 i, k, temp: integer;
 f: Boolean;
begin
 k := 1;
 repeat
  for i := 0 to High(Row) - k do
   if Row[i] > Row[i + 1] then begin
    temp   := Row[i];
    Row[i] := Row[i + 1];
    Row[i + 1] := temp;
   end;
  k := k + 1;
 until k = High(Row) - 1;
end;

var
 i: integer;
 M: TMatrix;
begin
 ...
 for i := 0 to High(M) do
  SortRow(M[i]);
 ...
end.

Ответить с цитированием
  #3  
Старый 15.12.2011, 00:53
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

К первому, как я понял:
Код:
procedure TForm5.Button4Click(Sender: TObject);
 var
 i,j:byte;
 A:array [1..100,1..100] of Integer;
 b: Boolean;
 n,m:Byte;
 begin
 m:=SpinEdit2.Value;
 N:=SpinEdit1.Value;
 for j := 1 to m do
 begin
 b:=True;
 for i:=1 to (N div 2) do
 begin
 if a[i,j]<>a[n-i+1,j] then
 b:=False;
 end;

 if b = False then
 StringGrid2.Cells[0, j-1] := '0'
 else
 StringGrid2.Cells[0, j-1] := '1';
 end;

 end;
 end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter