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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2006, 11:06   #1
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию обработка вариантов ответа из матрицы

перенесено со старого форума. сообщение от Egor.

Помогите пожалуйста!!!
Мне нужно написать программу для определения склонности человека к суициду. Необходимо заполнить таблицу размерностью MxN, и из списка выбирать варианты ответа («+» - ДА, «-» - НЕТ).
Использовать конструкцию:

I:= 0;
If a[1, 5]= ‘-‘ //если ячейка содержит '-'
Then I:= I+ 1; //то к счётчику увеличиваем на единицу
If a[1, 9]= ‘-‘
Then I:= I+ 1;

if a[16, 5]= ‘-‘
then I:= I+ 1;

очень долго и муторно. Кто знает какие средства есть в Delphi5 для упрощения этой конструкции.
Заранее спасибо!!!

перенесено со старого форума. сообщение от piligrim.

чето не совсем понятно: как ты собераешься определять вариант ответа? при помощи каких компонентов? примерно сколько вопросов? Сколько вариантов "склонности человека к суициду"?

вот один из вариантов:

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin

//Условие
i:=0;
// RadioButton помещять по 2 (да, нет) в GroupBox, если да то i+1 бал, если нет то i не изменяеться.
if RadioButton1.Checked=true then i:=i+1;
if RadioButton3.Checked=true then i:=i+1;
if RadioButton5.Checked=true then i:=i+1;
if RadioButton7.Checked=true then i:=i+1;
if RadioButton9.Checked=true then i:=i+1;
if RadioButton11.Checked=true then i:=i+1;

//Варианты ответа расчитываються по количеству балов присвоеных значению i.

if (i>=0)and (i<=2) then ShowMessage('Ответ 1');
if (i>2)and (i<=4) then ShowMessage('Ответ 2');
if (i>4)and (i<=6) then ShowMessage('Ответ 3');

end;

перенесено со старого форума. сообщение от rpy3uH.

l:=0;
i:=0;
j:=0;
for i:=1 to 10 do
for j:=1 to 10 do
if a[i,j]='-' then
i:=i+1;

Вот и всё

перенесено со старого форума. сообщение от Virtson.

и зачем же ты в теле цикла меняешь значение счетчика цикла i
?
а матрицу a кто заполнять будет ?

можно сделать, как прелагает Piligrim - достаточно просто,
только компоненты типа ТRadioButton ...
хорошо бы создавать динамически,
либо наоборот: задавать вопросы юзеру по очереди (типа тестирование

перенесено со старого форума. сообщение от Egor.

Матрица уже заполнена.

RadioButton не спорю вещь хорошая, для тех кто отвечает на вопросы, а если тебе приносят уже заполненные таблицы? По моему легче поставить «+» или «-» в матрице чем мышкой выбирать варианты ответов, а вопросов в тесте 250.

Просмотреть нужно все ячейки и найти “-” только в определённых ячейках – согласно ключу теста. Причём никакой закономерности в ключе нет!
Тест определяет несколько различных параметров личности тестируемого: склонность к суициду; устойчивость к стрессам; общительность; и умение работать в коллективе и определение честности (насколько тестируемый честен в ответах). В каждом параметре, согласно ключу, есть варианты ответов ДА («+») и НЕТ («-»).
И если ответ с ключом совпадает то счётчик увеличиваем на единицу, иначе нет.

перенесено со старого форума. сообщение от Alar.

Ну и чего сложного. у тебя 2 матрицы, или не знаю как у тебя там... создаёшь 2 двух мерных массива. прогоняешь в циклах (один вложен в другой грузин уже писал как это сделать) 2 матрицы одновременно и если (1матрица[i , j] = ключу)and(2матрица[i , j]='-') tnen inc(счётчик);

всё!
Alar вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кривые рожи на страничке расширенного ответа Sibedir О форуме и сайтах клуба 4 15.02.2008 10:51
матрицы tonic Microsoft Office Excel 2 10.01.2008 14:47
вывод ответа на соответвующий вопрос Phoenix53 Общие вопросы Delphi 5 26.04.2007 00:59