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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2016, 22:13   #51
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

массив динамический, минеральных чисел может быть несколько
Moraine93 вне форума Ответить с цитированием
Старый 29.10.2016, 22:16   #52
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

вот
Изображения
Тип файла: png Безымянный.png (22.6 Кб, 33 просмотров)
Moraine93 вне форума Ответить с цитированием
Старый 29.10.2016, 22:40   #53
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

так должно несколько минимальных вывести
Код:
  strok :=0;
  stolb :=0;
   min :=-100;
   for I := 0 to n-1 do
      for j := 0 to m-1 do
        if r[i,j] < min then     
        begin
         for q := 0 to 10 do
          min[q] := a[i,j];         
          strok[q] := i + 1;     
          stolb[q] := j + 1;    
        end;
Moraine93 вне форума Ответить с цитированием
Старый 29.10.2016, 22:44   #54
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ужас, на половину моих вопросов вообще не ответила...

Всё правильно (я имею ввиду - через один твой пост), здесь. Когда я говорю "глобальный", я подразумеваю просто место объвления и всё... А когда я говорю "динамический массив" я подразумеваю вот что:

0.jpg

В примере и одномерный и двумерных рассмотрен вместе. А тебе нужно только двумерный... И ещё, в примере он типа "string" (т.е. символы может хранить), а тебе нужен "int"...

___________________________________ _______________

Ты меня сбила своим/чужим кодом... Я планировал, после объявление "n, m" глобальными параметрами приступить к работе с массивом А[][], по принципу:

1.jpg

Но теперь, когда мы так лихо перешли на чужой код - я даже не знаю.

___________________________________ _______

Отвечай на остальные вопросы...

___________________________________ ________

По поводу массивов.

Это статический массив:

Код:
 r : array[0..255,0..255] of Integer;
а это, похоже на динамический (переменного размера) (сравни с 1-й картинкой):

Код:
multiArray : Array of Array of string; // Многомерный массив
Но это, к сожалению, не всё что касается работы с динамическим массивом. Это только создание "пустого" (без единой ячейки для заполнения - по сути дела это просто имя, и всё)... После чего нужно создать ячейки динам. массива и их заполнить RANDOM-ом. На картинке всё есть (только надо чуть-чуть её поправить: "сделать это в цикле", а не "операторами", как на картинке).
p.s.: последнюю мысль ты не поймёшь, поэтому отправляю тебя в интернет (найди пример, и разберись с работой 2- мерного динамического массива)

Последний раз редактировалось ura_111; 29.10.2016 в 22:50.
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 23:10   #55
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

1.1. я его убрала(массив)
1.2.ошибки в этом месте не выдает. переписала в глобальный динамический
1.3. динамический а[][]
1.4а нужно выделить несколько минимальных если они есть
1.4б min, strok, stolb - сделала глобальными
tform1.peresech11click можно и тут перекрашивать
Moraine93 вне форума Ответить с цитированием
Старый 29.10.2016, 23:32   #56
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Если ты говоришь:
"tform1.peresech11click можно и тут перекрашивать"
тогда
"min, strok, stolb - сделала глобальными " можно сделать локальными...

Понимаешь гипотетическую логику работы программы:

а) Если в "peresech11click" нашло "min, strok, stolb" и здесь же покрасило. - тогда всё ( больше эти переменные нигде не нужны).

б) А если же ты находишь "min, strok, stolb" в процедуре "peresech11click" , а красишь в процедуре "draw" (по этим же переменным), тогда нужно чтобы переменные "min, strok, stolb" были видны и там и там...
___________________________________ ___________________

Так.

Скажи мне, а лучше покажи пример-код на:
"tform1.peresech11click можно и тут перекрашивать"

Дело вот в чём, код на раскраску в "draw" я тебе привёл уже давно (я его нашёл в интернете).. И вот, твой например (твой же код; когда будешь читать, обрати внимание на слова-комментарии: "закрасить рамку" "закрасить ячейку" "цвет ячейки"...):

13.jpg


Получается у тебя же раскрашено в "draw"???
А теперь ты говоришь: "давай красить в tform1.peresech11click"???
___________________________________ ________________

Покажи код-пример на твои слова: "tform1.peresech11click можно и тут перекрашивать".

p.s.: Moraine93, вопрос: "в какой процедуре (обработчике) красить?" Принципиален.

Последний раз редактировалось ura_111; 29.10.2016 в 23:38.
ura_111 вне форума Ответить с цитированием
Старый 29.10.2016, 23:42   #57
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

пусть будет в draw тогда
Moraine93 вне форума Ответить с цитированием
Старый 29.10.2016, 23:53   #58
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Хорошо, с одним разобрались.

Теперь переходим к поиску минимальных элементов. Я проанализировал код:

Код:
  strok :=0;
  stolb :=0;
   min :=-100;
   for I := 0 to n-1 do
      for j := 0 to m-1 do
        if r[i,j] < min then     
        begin
         for q := 0 to 10 do
          min[q] := a[i,j];         
          strok[q] := i + 1;     
          stolb[q] := j + 1;    
        end;
он неправильный. Лучше сделать как я тебе говорил (читай ещё раз):

Поиск минимальных элементов.

Объявляешь глобальный массив "min[2][100]", где:
Почему
min[2][100] - здесь будет храниться "i" "j" минимальных элементов (аналог strok и stolb ).

Почему
min[2][100] - если вдруг все элементы матрицы "А" сгенерируют одинаковыми и равными "мин." (врятли, конечно такое возможно, но всё же).

1) Находишь "мин." элемент по всей матрице (стандартный алгоритм), что-то вроде такого:

Код:
MINIMUM =A[0][0];
for...
for...
if(MINIMUM>A[i][j]) тогда MINIMUM =A[i][j];
3) Все элементы массива присваиваешь "-1" (min[2][100]=-1 (почему именно "-1"? дело в том, что в этом массиве хранятся индексы всех минимальных элементов, а индекс матрицы А[][] может равняться "0-лю", но не "-1" - этой отличительной чертой потом в draw воспользуесшя).

4) Заполняем массив min[2][100]. Что-то вроде такого:

Код:
k=0;
for...
for...
if(MINIMUM=A[i][j]) тогда 
{
min[0][k] =i; 
min[1][k] =j;
k=k+1;
}
Всё, должно получиться что-то вроде такого:

1.jpg



p.s.1: но у тебя матрица А[n][m] не сформированная, чтобы в ней искать минимумы.
p.s.2: ты понимаешь? Возьми на листочке напиши код и попробуй его "проиграть".

Последний раз редактировалось ura_111; 30.10.2016 в 00:08.
ura_111 вне форума Ответить с цитированием
Старый 30.10.2016, 00:16   #59
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

Код:
var
  Form1: TForm1;
min[2][100]; на нее ругается
a: array[ ][ ] of integer;
min, stroc, stolb,q, x, y, i, j,  m, n:integer;

implementation
Moraine93 вне форума Ответить с цитированием
Старый 30.10.2016, 00:18   #60
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Сюда взгляни

http://www.adodo.ru/blog/delphi/115.html

только тип у тебя другой.
ura_111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программирование блок схема. пожалуйста, нарисуйте блок схему. очень срочно нужно! Bogdan96 Помощь студентам 4 22.09.2015 09:33
Pascal ABC(нарисуйте пожалуйста блок-схему, очень нужно) Deril Паскаль, Turbo Pascal, PascalABC.NET 2 05.01.2015 10:18
помогите пожалуйста написать решение задачи и блок схему к ней очень нужно( Alexandr1806 Помощь студентам 1 16.06.2014 22:31
помогите пожалуйста очень нужно решение задачки Satenka Microsoft Office Excel 4 28.05.2014 21:57
Нарисуйте пожалуйста блок-схему лёгкой задачки, не знаю как,очень нужно... prikolist Паскаль, Turbo Pascal, PascalABC.NET 2 28.11.2008 15:27