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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2016, 15:30   #1
ralex35
Пользователь
 
Регистрация: 06.05.2016
Сообщений: 16
По умолчанию Delphi - двумерные массивы

Дан массив В (4*5). Элементы массива ввести в программе. Найти первый положительный элемент и его индексы.

находит только последний положительный
Код:
procedure TForm1.Button1Click(Sender: TObject);
const a: array[0..4,0..3] of integer = ((-4, -1, -3,-5), (11, 5, 0,-5), (10, -7, -8,-5), (-6, -9, -2,-5),(1,-2,-3,-5));
var
i,j,max,mi,mj: integer;
k,l,z:string;
begin
  k:='';
  for i := 0 to 4 do
    for j := 0 to 3 do
    begin
      StringGrid1.Cells[i,j] := IntToStr(a[i,j]);
      if (a[i,j] > 0) then
      begin
        max:=a[i,j];
        mi:= i;
        mj:= j;
    end;
  Label3.Caption :='A[' + IntToStr(mi+1) + ', ' + IntToStr(mj+1) + '] = '+ IntToStr(max) ;
end;

  end;
end.
ralex35 вне форума Ответить с цитированием
Старый 08.05.2016, 15:38   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

А не пробовали вставлять метку label
Код:
label lab;
...
begin
        max:=a[i,j];
        mi:= i;
        mj:= j;
        goto lab;
    end;
...
lab:
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 08.05.2016 в 15:46.
newerow1989 вне форума Ответить с цитированием
Старый 08.05.2016, 15:43   #3
ralex35
Пользователь
 
Регистрация: 06.05.2016
Сообщений: 16
По умолчанию

У меня тогда половина массива пропадает и выдает все равно второй положительный элемент
Изображения
Тип файла: png 1.png (14.6 Кб, 40 просмотров)
ralex35 вне форума Ответить с цитированием
Старый 08.05.2016, 15:44   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Тогда
Код:
procedure TForm1.Button1Click(Sender: TObject);
label lab;
const a: array[0..4,0..3] of integer = ((-4, -1, -3,-5), (11, 5, 0,-5),
    (10, -7, -8,-5), (-6, -9, -2,-5),(1,-2,-3,-5));
var
i,j,max,mi,mj: integer;
k,l,z:string;
begin
  k:='';
  for i := 0 to 4 do
    for j := 0 to 3 do
      StringGrid1.Cells[i,j] := IntToStr(a[i,j]);

  for i := 0 to 4 do
    for j := 0 to 3 do
      if (a[i,j] > 0) then
      begin
        max:=a[i,j];
        mi:= i;
        mj:= j;
        goto lab;
      end;
  lab:
  Label3.Caption :='A[' + IntToStr(mi+1) + ', ' + IntToStr(mj+1) + '] = '+ IntToStr(max) ;
end;
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 08.05.2016, 15:53   #5
ralex35
Пользователь
 
Регистрация: 06.05.2016
Сообщений: 16
По умолчанию

Массив выводит полностью,но первый положительный по прежнему не верно считает
Изображения
Тип файла: png 1.png (17.6 Кб, 11 просмотров)
ralex35 вне форума Ответить с цитированием
Старый 08.05.2016, 15:55   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

У меня выводит A[2, 1] = 11 // пост 4
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 08.05.2016, 16:01   #7
ralex35
Пользователь
 
Регистрация: 06.05.2016
Сообщений: 16
По умолчанию

У меня в начале на label lab ругался, пересохранила,уже все хорошо

и снова спасибо
ralex35 вне форума Ответить с цитированием
Старый 08.05.2016, 16:01   #8
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi двумерные массивы Asmoki Помощь студентам 0 23.09.2012 17:03
Двумерные массивы (delphi 6) Роберто Помощь студентам 6 24.05.2012 01:07
Двумерные массивы Delphi Chevy Помощь студентам 2 23.05.2012 08:52
Delphi 7 двумерные массивы StudentFIU Помощь студентам 1 04.05.2010 18:55
двумерные массивы (на Delphi 7) matrix8325 Помощь студентам 2 02.05.2009 11:42