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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 15:12   #1
Zazug
 
Регистрация: 14.05.2013
Сообщений: 6
По умолчанию StringGrid

Разработать программу осуществляющую работу с матрицами, ввод осуществлять двумя способами: в режиме диалога и с помощью генератора случайных чисел. Матрицы выводить в общепринятом виде с использованием компонента StringGrid.

Дана целочисленная квадратная матрица. Определить:
1. сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент;
2. поменять в матрице 1-ю строку с n-ой, 2-ю с (n-1)-ой и т.д.
Вот программа . ЧТо т я запутался.
Вложения
Тип файла: rar 44.rar (395.7 Кб, 16 просмотров)
Zazug вне форума Ответить с цитированием
Старый 14.05.2013, 16:12   #2
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

во-первых перенеси randomize; в кнопку Button3, воткни сразу после бегина тогда будут генерироваться разные матрицы, а не одна и та же.
во-вторых измени строку генерации матриц на
Код:
if random(100)>10 then a[i,j]:=random(100) else a[i,j]:=-1*random(100);
так ты получишь отрицательные числа автоматом.

в-третьих перенос строк должен быть так, ты путаешь строки со столбцами, а потом вообще фигню делаешь. в таблице ячеек (StringGrid2.Cells[i, j]) сначала столбец (i) потом строка (j)
Код:
  for i := 1 to m do
  begin
    for j := 1 to m do
    begin
       //a[i,j] := a[m - i,j];
       StringGrid2.Cells[i, j]:=IntToStr(a[i,m - j+1]);
       label3.visible:=True;
       label4.visible:=True;
       StringGrid2.visible:=True;
    end;
  end;
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.

Последний раз редактировалось IliaIT; 14.05.2013 в 16:33.
IliaIT вне форума Ответить с цитированием
Старый 14.05.2013, 17:09   #3
Zazug
 
Регистрация: 14.05.2013
Сообщений: 6
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
во-первых перенеси randomize; в кнопку Button3, воткни сразу после бегина тогда будут генерироваться разные матрицы, а не одна и та же.
во-вторых измени строку генерации матриц на
Код:
if random(100)>10 then a[i,j]:=random(100) else a[i,j]:=-1*random(100);
так ты получишь отрицательные числа автоматом.

в-третьих перенос строк должен быть так, ты путаешь строки со столбцами, а потом вообще фигню делаешь. в таблице ячеек (StringGrid2.Cells[i, j]) сначала столбец (i) потом строка (j)
Код:
  for i := 1 to m do
  begin
    for j := 1 to m do
    begin
       //a[i,j] := a[m - i,j];
       StringGrid2.Cells[i, j]:=IntToStr(a[i,m - j+1]);
       label3.visible:=True;
       label4.visible:=True;
       StringGrid2.visible:=True;
    end;
  end;
Неподскажешь куда надо подставить это
Код:
if random(100)>10 then a[i,j]:=random(100) else a[i,j]:=-1*random(100);
А то что то запутался понаподставлял свое и не работает)
Zazug вне форума Ответить с цитированием
Старый 15.05.2013, 11:31   #4
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

Как то так. другие неточности не искал, исправил только то что заметил. сумму не проверял очень муторный алгоритм . И матрица д непонятно зачем тебе нужна.
Вложения
Тип файла: zip 44.ZIP (250.0 Кб, 8 просмотров)
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ StringGrid Ganez Помощь студентам 1 21.02.2011 18:44
stringgrid+колесо мыши=>stringgrid.onclick aalleexxaa Общие вопросы Delphi 5 16.02.2011 16:58
stringgrid Vitaliy3009 Общие вопросы Delphi 3 14.10.2009 16:59
StringGrid Devikss Общие вопросы Delphi 8 25.05.2008 16:14