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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 21:33   #1
Владимир Чернов
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 12
Восклицание не пойму ошибку

Переменные вводить и выводить с помощью компонента TEdit, массивы – c помощью компонента TStringGrid, в котором 0-й столбец и 0-ю строку использовать для отображения индексов массивов. Вычисления выполнять, после нажатия кнопки типа TВutton. В местах возможного возникновения ошибок использовать конструкции для обработки исключительных ситуаций.

ЗАДАНИЕ:
Задана матрица A, размером NxM. Получить массив B, присвоив его k-му элементу значение
максимального элемента в k–от столбце матрицы А.




Не могу решить не знаю как. заранее спасибо за помощь!!! нужно срочно.

вот код моей программы:


procedure TForm1.Edit1Change(Sender: TObject);
var i: integer;
begin
with StringGrid1 do begin
RowCount := StrToIntDef(Edit1.Text,1)+1;
StringGrid2.RowCount := RowCount;
ColCount := StrToIntDef(Edit2.Text,1)+1;
for i := 1 to RowCount-1 do
Cells[0,i] := IntToStr(I);
for i := 1 to ColCount-1 do
Cells[i,0] := IntToStr(I);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j, X: integer;
begin
with StringGrid1 do
for i := 1 to RowCount-1 do begin
X := StrToIntDef(Cells[i,1],0);
for j := 2 to ColCount-1 do
X := Max(X,StrToIntDef(Cells[i,j],0));
StringGrid2.Cells[0,i] := IntToStr(X);
end;
end;
end.
Владимир Чернов вне форума
Старый 31.03.2011, 22:10   #2
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j, X: integer;
begin
  with StringGrid1 do
    for i := 1 to RowCount-1 do begin
      X := StrToIntDef(Cells[i,1],0);
      for j := 2 to ColCount-1 do
        If X<StrToIntDef(Cells[i,j],0) then X:=StrToIntDef(Cells[i,j],0);
      StringGrid2.Cells[0,i] := IntToStr(X);
    end;
end;
end.
Почему то у вас значение из второго эдита берется в обработчике первого, тогда уж сразу проверять надо заполнен ли второй эдит. С исключительными ситуациями ничего вам не подскажу.
А какая ошибка то??
BoozZzilla вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не пойму ошибку Domanoff Общие вопросы Delphi 4 25.05.2010 21:37
где-то ошибаюсь, а где не пойму!укажите ошибку <<Katushka>> Общие вопросы C/C++ 2 15.05.2010 11:41
С++ Классы Не пойму ошибку в программе E.C. Помощь студентам 1 06.05.2009 14:58
Не пойму чо так Cricket2007 Помощь студентам 5 15.05.2008 01:17