Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.01.2012, 11:18
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
Вопрос как сделать нормально? (язык программирования делфи)

доброй поры времени. у меня есть програма которая решает СЛАР. но не обычно. у меня сначала генеруется указаный перебор. потом соответственно этому перебору я с первого уравнения выбираю строки например 123 и заполняю вторую таблицу по которой уже идет подсчет.
как можна нормально сделать чтобы все 10 результатов как в примере выводило сразу, а не по очереди считовать и потом уже выводило
что бы програ была универсальной а не сталой. код и вся програма в архиве. чесно говорю сделано барыжно. думаю что надо както масивы связать но незнаю как
рандом для того чтобы не водить вручную все значения. как сделать правельно чтобы по кномкам по 100 раз не пробивать, а щитало одной кнопкой при одном нажатии. да там 10 результатов по 3 комбинацые каждое. а то для етого примера как можна сделать нормально например если переборов меньше или больше. просто с 3до5 код сталый. и выдодило все результаты вмести 10 переборов по 3 варианта. а уравнение потому не однаковое 3х5 что нада для перебирать все возможные варианты , например для статистической задачи и нижняя табличка заполняется с верхней. вот как на рисунке, я подрисовал, просто.
123,345,124 и тп ето строки спервой
Изображения
Тип файла: jpg pic.jpg (17.6 Кбайт, 19 просмотров)
Вложения
Тип файла: zip proga.zip (24.9 Кбайт, 4 просмотров)
Ответить с цитированием
  #2  
Старый 18.01.2012, 08:15
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

ничнего не понял, но можно же сделать одну кнопку, которая будет поочереди вызывать события нажатия на другие
или нужен перебор вариантов или чё? зачем массивы связывать?

Последний раз редактировалось Pyro, 18.01.2012 в 08:19.
Ответить с цитированием
  #3  
Старый 18.01.2012, 11:29
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

програма должна быть универсальна. напримен если там не 3х5 будет а 4х5. там сразу же будит другой перебов, соответственно другие варианты ответов и больше или меньше комбинаций ответов в зависимости от размера матрици. вот я скрин сделас. соответственно вариантов меньше и комбинаций ответов меньше
Изображения
Тип файла: png Безымянный.png (2.3 Кбайт, 6 просмотров)

Последний раз редактировалось luffi, 18.01.2012 в 11:32.
Ответить с цитированием
  #4  
Старый 18.01.2012, 15:23
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

вот кое что доделал и переделал, помогите избавится от кучи if-фов
Вложения
Тип файла: rar proga 2.rar (27.2 Кбайт, 1 просмотров)
Ответить с цитированием
  #5  
Старый 18.01.2012, 19:21
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

должно быть что-то похожее
PHP код:
:= edit3.text;
for 
:= 0 to length(s) - do
  for 
:= 0 to length(s) - do
    
StringGrid1.Cells[ij] := StringGrid3.Cells[iStrtoInt(s[j+1])]; 
Ответить с цитированием
  #6  
Старый 18.01.2012, 22:40
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

нимного не то, мне как то нада свизать числа с перебора например 345 с 3,4,5 или 125 с ячейками 1,2,5 ячейкой стрингрида1 и перенести в стрингрид2. но незнаю как ето нормально написать

я там if-ми на матрицу 5х5 максимально написал. но если там будет большая матрица например 10х10, то if-ов слишком много будет, ето будет не красиво.

Последний раз редактировалось luffi, 18.01.2012 в 22:46.
Ответить с цитированием
  #7  
Старый 19.01.2012, 08:10
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

если так?
PHP код:
//iii и jjj это размерности матрицы
:= edit3.text
for 
:= 0 to iii-do 
  for 
:= 0 to jjj-do 
    
StringGrid1.Cells[ij] := StringGrid3.Cells[iStrtoInt(s[j+1])]; 
Ответить с цитированием
  #8  
Старый 19.01.2012, 14:44
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pyro
если так?
PHP код:
//iii и jjj это размерности матрицы
:= edit3.text
for 
:= 0 to iii-do 
  for 
:= 0 to jjj-do 
    
StringGrid1.Cells[ij] := StringGrid3.Cells[iStrtoInt(s[j+1])]; 

ну етим кодом, мы считывает тока всю матрицу, немного не так как я хочу
Ответить с цитированием
  #9  
Старый 19.01.2012, 16:09
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

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

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)]; 
Ответить с цитированием
  #10  
Старый 19.01.2012, 16:27
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию


PHP код:
iii := 3;
jjj := 4;
for 
:= 0 to iii-do  
  for 
:= 0 to jjj-do  
    
StringGrid1.Cells[ij] := StringGrid3.Cells[iStrtoInt(Memo2.Lines[j])-1]; 
Ответить с цитированием
  #11  
Старый 19.01.2012, 16:34
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pyro

PHP код:
iii := 3;
jjj := 4;
for 
:= 0 to iii-do  
  for 
:= 0 to jjj-do  
    
StringGrid1.Cells[ij] := StringGrid3.Cells[iStrtoInt(Memo2.Lines[j])-1]; 
ну такое я знаю, а если например я StringGrid1.Cells[i, j] оствлюю тем же а в StringGrid3.Cells[i, StrtoInt(Memo2.Lines[j])-1]; мне нада из на 3 больше с каждим шагом
Ответить с цитированием
  #12  
Старый 19.01.2012, 16:40
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

заметно что знаешь
PHP код:
iii := 3
jjj := 4
это размерность от неё всё зависит. учи циклы...
Ответить с цитированием
  #13  
Старый 19.01.2012, 16:42
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pyro
заметно что знаешь
PHP код:
iii := 3
jjj := 4
это размерность от неё всё зависит. учи циклы...
не не не, ти не понял, первый шас я использую елементы 0.1.2 вчторой 3,4,5 и т.д
Ответить с цитированием
  #14  
Старый 19.01.2012, 18:56
luffi luffi вне форума
Прохожий
 
Регистрация: 05.12.2011
Сообщения: 48
Репутация: 10
По умолчанию

Pyro спасибо немного помог. вот прога я сделал сам как хотел, тока ешо нада разобратся почему не шитает последний вариант
Вложения
Тип файла: rar proga.rar (206.6 Кбайт, 1 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:19.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter