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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2012, 20:52   #1
hl_anton
Пользователь
 
Регистрация: 08.01.2012
Сообщений: 13
По умолчанию Массивы. Делфи.

Здравствуйте. Помогите решить задачу.
Изображения
Тип файла: jpg 5.4.JPG (17.1 Кб, 14 просмотров)
hl_anton вне форума Ответить с цитированием
Старый 15.01.2012, 21:09   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от hl_anton Посмотреть сообщение
Здравствуйте. Помогите решить задачу.
Что не получается? Задача простая.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 15.01.2012, 21:11   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
for i:=1 to n do
begin b[i]:=1;
for j:= 1 to m -1 do
if a[i,j]<a[i,j+1] then begin b[i]:=0;break;end;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 15.01.2012 в 21:13.
Mad_Cat вне форума Ответить с цитированием
Старый 15.01.2012, 21:25   #4
hl_anton
Пользователь
 
Регистрация: 08.01.2012
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
Код:
for i:=1 to n do
begin b[i]:=1;
for j:= 1 to m -1 do
if a[i,j]<a[i,j+1] then begin b[i]:=0;break;end;
end;
Спасибо, но работает некорректно.
Изображения
Тип файла: jpg Безымянный.JPG (74.7 Кб, 117 просмотров)
hl_anton вне форума Ответить с цитированием
Старый 15.01.2012, 21:40   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Ds / это все-таки руки) проверено)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 15.01.2012 в 21:46.
Mad_Cat вне форума Ответить с цитированием
Старый 15.01.2012, 21:41   #6
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

набросал, вроде как должно быть все норм
Код:
for i:=1 to n do
begin
for j:=1 to m-1 do
if a[i,j]>a[i,j+1] then
inc(k);
if k=m-1 then
b[i]:=1
else
b[i]:=0;
k:=0;
end;

Последний раз редактировалось Базиля; 15.01.2012 в 21:57.
Базиля вне форума Ответить с цитированием
Старый 15.01.2012, 21:46   #7
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Да кстати, тоже ради интереса решил проверить, у товарища Mad_Cat все работает, и даже рациональней вышло. Так что не знаю что у вас там не работает
Базиля вне форума Ответить с цитированием
Старый 15.01.2012, 21:47   #8
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Еще вариант
Код:
function linecheck(k:mass; i:integer):boolean;
var
  j:integer;
begin
  result:=true;
  for j:=1 to n-1 do
    if k[i,j]>k[i,j+1] then
      begin
        result:=false;
        break
      end;
end;
Ну и потом B[i]:=linecheck(k,i);
На крайний случай можно вместо boolean написать integer, true & false поменять на 1 и 0 соответственно, хотя, мне кажется, будет и так работать.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 15.01.2012, 21:49   #9
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Так что не знаю что у вас там не работает
Неправильная конвертация Stringgrid(этот ли конвертируют) в матрицу скорее всего! как видно на картинке все работает 100%
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 15.01.2012, 22:17   #10
hl_anton
Пользователь
 
Регистрация: 08.01.2012
Сообщений: 13
По умолчанию

Код:
procedure TForm3.btn6Click(Sender: TObject);
var
  i,j:Integer;
begin
m:=strtoint(edt4.Text);
n:=strtoint(edt5.Text);
strngrd3.RowCount:=m;
strngrd3.ColCount:=n;
      for i:=1 to m-1 do
        for j:=0 to n-1 do
 K[i,j]:=StrToInt(Strngrd3.Cells[i,j]);
end;


procedure TForm3.btn7Click(Sender: TObject);
var
  T:array [0..100] of integer;
  i,j,q,p:Integer;
begin
m:=strtoint(edt5.Text);
strngrd4.ColCount:=m;
for i:=0 to n-1 do
begin T[i]:=1;
for j:=0 to m-1 do
if K[i,j]<K[i,j+1]
then begin T[i]:=0;Break;end;
end;
for i:=0 to n-1 do
strngrd4.Cells[i,0]:=IntToStr(T[i]);
end;
Что тут может быть неправильного?
hl_anton вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи Массивы Пьеро Помощь студентам 0 29.11.2010 23:09
(Делфи)Массивы zoza1 Помощь студентам 1 25.12.2009 08:04
Массивы (ДЕЛФИ) a1ertso Помощь студентам 0 16.12.2009 02:34
массивы(Делфи) a1ertso Помощь студентам 0 15.12.2009 19:17