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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 08:31   #11
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А то что я дал не годится?
мне нужно, что бы в StringGrid1 в каждом столбце искалось наибольшее значение. Потом, из каждого столбца наибольшее значение переносилось в StringGrid2. И что бы в Stringgrid1 выделялся столбец с самым большим значением в матрице выделялся.(выделение ты написал, только там ручное, а мне автоматическое надо)
robin39 вне форума Ответить с цитированием
Старый 26.05.2010, 09:21   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
выделение ты написал, только там ручное, а мне автоматическое надо)
ну так в чём проблемы - перебирайте все элементы, ищите максимальный. Найденный столбец выделяйте (благо код выделения уже у Вас есть!). В чём сложности?

p.s. "меня терзают смутные сомнения...." А у Вас вообще хоть что-нибудь есть? Проект есть работающий?! Если есть, то на какой он стадии? Если затык только в выделении столбца с максимальным значением, то можно помочь. Запакуйте исходники проекта в архив и прикрепите к сообщению на форуме... поможем...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.05.2010, 09:28   #13
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

Вроде вот. Я один сделал, да вариант оказался не тот. Сказали переделать. Тут я вообще застопорился.
Вложения
Тип файла: rar Курсовой.rar (207.7 Кб, 9 просмотров)
robin39 вне форума Ответить с цитированием
Старый 26.05.2010, 09:34   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
robin39
Что-то это совсем не то...
Ты зачем Эдиты в ReadOnly поставил? Что куда вводить то нужно?

Вот смотри:
Код:
procedure TForm1.Button1Click(Sender: TObject);
 var
   m,k,i, j: integer;          // объявляем переменные
begin
   m:=-MaxInt;
   For i:=0 to 11 do
    for j:= 0 to 11 do begin
        k:=(random(201)-100);
        if m<k then begin
         m:=k;
         StringGrid1.Tag:=i;
        end;
        stringGrid1.Cells[i,j]:=inttostr(k);
    end;
StringGrid1.Repaint;
end;
Это по клику на кнопку заполнения

А это процедура отрисовки:
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if acol=StringGrid1.tag then begin
   with StringGrid1 do begin
    with Canvas do begin
     Pen.Color:=clRed;
     Pen.Width:=3;
     MoveTo(rect.Left,Rect.Top);    LineTo(Rect.Left,Rect.Bottom);
     MoveTo(Rect.Right,Rect.Top);    LineTo(Rect.Right,Rect.Bottom);
     if (arow=0) then       MoveTo(Rect.Left+2,Rect.Top);    LineTo(Rect.Right-2,Rect.Top);
     if (arow=RowCount-1) then       MoveTo(Rect.Left+2,Rect.Bottom);    LineTo(Rect.Right-2,Rect.Bottom);
    end
   end;
 end;
end;
I'm learning to live...

Последний раз редактировалось Stilet; 26.05.2010 в 09:48.
Stilet вне форума Ответить с цитированием
Старый 26.05.2010, 16:30   #15
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

Edit сделал так, что бы можно было вводить строки только через главное меню, а столбцы через Combobox. У меня по заданию так.
robin39 вне форума Ответить с цитированием
Старый 26.05.2010, 23:02   #16
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

вопрос может конечно идиотский, но я неочень хорошо шарю в Delphi.
Почему мы пишем -MaxInt а не просто MaxInt.
И несовсем понятно строчка if m<k then begin m:=k;
robin39 вне форума Ответить с цитированием
Старый 26.05.2010, 23:21   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Почему мы пишем -MaxInt а не просто MaxInt.
нельзя просто MaxInt
Нужно именно -MaxInt (впрочем, т.к. диапазон генерируемых чисел ограничен от -100 до 100
то можно взять ЛЮБОЕ число меньше нижнего диапазона.
например. m := -1000;

дальше
Цитата:
Код:
 if m<k then begin m:=k;
означает, если очередное число массива (грида), которое находится в переменной K больше максимального значения, значит присваиваем переменной m именно это значение K как максимальное значение. Таким образом осуществляется поиск максимального числа в матрице.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.05.2010, 00:14   #18
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

Спасибо. Теперь понял.



а как наибольшее значение перенести из каждого столбца StrinGrid1 в каждую ячейку StringGridw
robin39 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выделение нескольких ячеек в VBA tohdom Microsoft Office Excel 22 27.06.2012 05:48
Выделение группы ячеек t0xa Microsoft Office Excel 1 19.09.2009 18:21
Выделение ячеек в опредленном столбце Busine2009 Microsoft Office Word 2 02.06.2009 21:33
Выделение цветом определённых ячеек Bbalt Microsoft Office Excel 5 13.02.2009 12:07