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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2016, 10:21   #1
fishki123
 
Регистрация: 09.11.2016
Сообщений: 5
По умолчанию Создать приложение приложение с таблицей 5*5 заполненной числами.После нажатия кнопки в каждой строке каждый элемент строки увеличивается на величину элемента главной диагонали

2.Создайте приложение с таблицей 5*5 заполненной числами.После нажатия кнопки Изменить в каждой строке каждый элемент строки увеличивается на число равное элементу главной диагонали этой строки.
Создание таблицы:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var i,j:integer;
begin
randomize;
setlength(m,r,c);
for i:=0 to r-1 do
for j:=0 to c-1 do
m[i,j]:=random(100);
with StringGrid1 do
 begin
  fixedCols:=0;
  fixedRows:=0;
  defaultColwidth:=30;
  scrollBars:=ssBoth;
  rowcount:=r;
  colcount:=c;
  for i:=0 to r-1 do
  for j:=0 to c-1 do
  Cells[j,i]:=inttostr(m[i,j]);
 end;
for i:=0 to r-1 do
for j:=0 to c-1 do
 begin
  m[i,j]:=random(100);
  StringGrid1.Cells[j,i]:=inttostr(m[i,j]);
 end;
end;
Кнопка<<Изменить>>:
Код:
procedure TForm1.Button1Click(Sender: TObject);
  var i,j:integer;
begin
 for i:=0 to r-1 do
for j:=0 to c-1 do
m[i,j]:=m[i,j]+m[i,i];
end;
Можете помочь пожалуйста,в чем проблема? У меня не увеличиваются строки на число равное диагонали строки..



_________________
1) Название темы не соответствует правилам форума
Название темы должно адекватно отражать суть решаемой задачи/проблемы!

2) Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)


модератор

Последний раз редактировалось Serge_Bliznykov; 09.11.2016 в 11:28.
fishki123 вне форума Ответить с цитированием
Старый 09.11.2016, 11:32   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

fishki123, приведите Ваш код полностью.
в приведённом Вами отрывке кода не видно, где объявляются и, главное, где задаются переменные r и c. Это константы const r=5 и c=5 ?

это раз.

второе.
не понятна логика программы.
Почему матрица (и грид) ДВАЖДЫ заполняются случайными числами?!!

Цитата:
Код:
m[i,j]:=random(100);
with StringGrid1 do
.....
for i:=0 to r-1 do
for j:=0 to c-1 do
 begin
  m[i,j]:=random(100);

и третье (и основное).
после нажатия кнопки изменяется массив m (кстати, неправильно. но изменяется)
а кто после этого будет обновлять содержимое StringGrid'а ? Оно само не обновится!

Кнопка<<Изменить>>:
Код:
procedure TForm1.Button1Click(Sender: TObject);
  var i,j:integer;
    tmp : integer;
begin
   for i:=0 to r-1 do begin
      tmp := m[i,i];
      for j:=0 to c-1 do begin
         m[i,j]:=m[i,j]+tmp;
         StringGrid1.Cells[j,i]:=inttostr(m[i,j]);
      end;
  end;      
end;

Последний раз редактировалось Serge_Bliznykov; 09.11.2016 в 11:37.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как после нажатия mdYes открыть приложение АлександрDelphi Общие вопросы Delphi 5 29.03.2016 17:20
в матрице А(10,10) элементы главной диагонали заменить максимальным элементом каждой строки в паскале авс Аняяяя Паскаль, Turbo Pascal, PascalABC.NET 3 06.11.2015 18:31
В целочисленной квадратной матрице наибольший элемент каждой строки поменять местами с элементом главной диагонали DesignGenius C# (си шарп) 0 18.10.2011 20:22
В матрице в каждой строке найти сумму N Элементов расположенных после максимального элемента этой строки lexflax Паскаль, Turbo Pascal, PascalABC.NET 0 20.04.2011 14:41
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 06:30