|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.10.2006, 11:06 | #1 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,599
|
обработка вариантов ответа из матрицы
перенесено со старого форума. сообщение от 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(счётчик); всё! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кривые рожи на страничке расширенного ответа | 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 |