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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2012, 22:15   #1
luffi
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 14
Вопрос как сделать нормально???(язык программирования делфи)

доброй поры времени. у меня есть програма которая решает СЛАР. но не обычно. у меня сначала генеруется указаный перебор. потом соответственно этому перебору я с первого уравнения выбираю строки например 123 и заполняю вторую таблицу по которой уже идет подсчет.
как можна нормально сделать чтобы все 10 результатов как в примере выводило сразу, а не по очереди считовать и потом уже выводило
что бы програ была универсальной а не сталой. код и вся програма в архиве. чесно говорю сделано барыжно. думаю что надо както масивы связать но незнаю как
Вложения
Тип файла: zip proga.zip (24.9 Кб, 6 просмотров)
luffi вне форума Ответить с цитированием
Старый 16.01.2012, 13:35   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию



Вот то, что я обвел, это вообще зачем? Первое еще могу предположить, что рандомная система, но какой смысл в пяти уравнениях при трех неизвестных? Что справа вообще не понял.

Цитата:
как можна нормально сделать чтобы все 10 результатов как в примере выводило сразу, а не по очереди считовать и потом уже выводило
Я, может быть, придераюсь к терминологии, но результатов тут три:
Цитата:
x1= -0.160030119147805
x2= 1.22604863356513
x3= -0.295278380652877
Кстати, проверял на своей проге, посчитано верно.

Кароче, как я понимаю, тебе нехочется несколько раз тыкать по кнопкам.
В таком случае, просто создай одну "большую красную кнопку", и в ее код последовательно скопируй нужные действия, которые происходят при нажитии на кнопки. Если одну кнопку надо ткнуть несколько раз, то загони в цикл, например while.
Либо так, либо я чего-то не понял
Изображения
Тип файла: jpg 45.JPG (67.6 Кб, 173 просмотров)
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 16.01.2012, 14:16   #3
luffi
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 14
По умолчанию

рандом для того чтобы не водить вручную все значения. да ты правельно понял чтобы по кномкам по 100 раз не пробивать, а щитало одной кнопкой при одном нажатии. да там 10 результатов по 3 комбинацые каждое. а то для етого примера как можна сделать нормально например если переборов меньше или больше. просто с 3до5 код сталый. и выдодило все результаты вмести 10 переборов по 3 варианта. а уравнение потому не однаковое 3х5 что нада для перебирать все возможные варианты , например для статистической задачи и нижняя табличка заполняется с верхней. вот как на рисунке, я подрисовал, просто.
123,345,124 и тп ето строки спервой
Изображения
Тип файла: png Без імені.png (17.6 Кб, 93 просмотров)

Последний раз редактировалось luffi; 16.01.2012 в 14:20.
luffi вне форума Ответить с цитированием
Старый 18.01.2012, 15:22   #4
luffi
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 14
По умолчанию

вот кое что доделал и переделал, помогите избавится от кучи if-фов
Вложения
Тип файла: rar proga 2.rar (27.2 Кб, 5 просмотров)
luffi вне форума Ответить с цитированием
Старый 19.01.2012, 16:09   #5
luffi
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 14
По умолчанию

как такое можна через цикли написать???

PHP код:
StringGrid1.Cells[00] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[0])-1)];
StringGrid1.Cells[01] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[1])-1)];
StringGrid1.Cells[02] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[2])-1)];
StringGrid1.Cells[03] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[3])-1)];
//-
StringGrid1.Cells[10] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[0])-1)];
StringGrid1.Cells[11] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[1])-1)];
StringGrid1.Cells[12] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[2])-1)];
StringGrid1.Cells[13] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[3])-1)];
//-
StringGrid1.Cells[20] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[0])-1)];
StringGrid1.Cells[21] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[1])-1)];
StringGrid1.Cells[22] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[2])-1)];
StringGrid1.Cells[23] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[3])-1)];
//--
StringGrid2.Cells[00] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[0])-1)];
StringGrid2.Cells[01] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[1])-1)];
StringGrid2.Cells[02] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[2])-1)];
StringGrid2.Cells[03] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[3])-1)]; 
luffi вне форума Ответить с цитированием
Старый 19.01.2012, 16:35   #6
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
StringGrid1.Cells[0, 0] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[0])-1)]; 
StringGrid1.Cells[0, 1] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[1])-1)]; 
StringGrid1.Cells[0, 2] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[2])-1)]; 
StringGrid1.Cells[0, 3] := StringGrid3.Cells[0, (StrToInt(Memo2.Lines[3])-1)]; 
//- 
StringGrid1.Cells[1, 0] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[0])-1)]; 
StringGrid1.Cells[1, 1] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[1])-1)]; 
StringGrid1.Cells[1, 2] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[2])-1)]; 
StringGrid1.Cells[1, 3] := StringGrid3.Cells[1, (StrToInt(Memo2.Lines[3])-1)]; 
//- 
StringGrid1.Cells[2, 0] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[0])-1)]; 
StringGrid1.Cells[2, 1] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[1])-1)]; 
StringGrid1.Cells[2, 2] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[2])-1)]; 
StringGrid1.Cells[2, 3] := StringGrid3.Cells[2, (StrToInt(Memo2.Lines[3])-1)]; 
//-- 
StringGrid2.Cells[0, 0] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[0])-1)]; 
StringGrid2.Cells[0, 1] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[1])-1)]; 
StringGrid2.Cells[0, 2] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[2])-1)]; 
StringGrid2.Cells[0, 3] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[3])-1)]; 
То что красным, зачем повторяется то? Если надо, последнюю вынеси за цикл.
Код:
for i:=0 to 2 do
  for j:=0 to 3 do
    StringGrid1.Cells[i, j] := StringGrid3.Cells[i, (StrToInt(Memo2.Lines[j])-1)];
for i:=0 to 3 do
  StringGrid2.Cells[0, i] := StringGrid4.Cells[0,(StrToInt(Memo2.Lines[i])-1)];
Все тривиальное просто

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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать свой язык программирования? future7 Свободное общение 19 05.05.2015 01:08
как перевести на язык делфи Giku Помощь студентам 1 12.11.2011 18:21
пграмма совершает аварийное прерывание.как сделать так чтобы она работала нормально? Екатерина3439 Общие вопросы C/C++ 8 24.06.2010 00:27
Python как язык для олимпиадного программирования anyx Свободное общение 13 10.03.2010 13:32
язык программирования Си Ruslan0990kz Общие вопросы C/C++ 1 03.06.2009 22:01