У второй подгруппы по программированию прошла самостоятельная. Специально для первой подгруппы выкладываю готовую программу. Задание было такое:
Написать программу, заполняющую двумерный массив случайными числами в заданном диапазоне (диапазон задается пользователем) и подсчитывающую сколько раз встретились факториалы заданных пользователем трех чисел в двумерном массиве. По полученным данным построить график.
Но при расчете факториала есть свои подводные камни. Например факториал числа выходит за границы целочисленного типа integer. Проблему решает тип LogInt. Либо просто считать факториалы маленьких чисел. Код моей программы препод не смотрел, поэтому
думаю не заметит если кто-то попробует сдать эту прогу с немного переделанным интерфейсом. Кто первый сдаст, того и тапки.
Для ввода чисел пользователем в программе использовался компонент spinedit. Он позволят хранить числа в integerl. Следовательно отпадает необходимость в переводе типов (StrToInt). Свойство spinedit.value хранит числовые значения.
Факториал я считал по формуле:
i:=2;
j:=1;
repeat
j:=J*i;
inc(i);
until i=spinedit3.Value+1;
Целесообразнее было вынести этот блок в отдельную функцию, чтобы вызывать ее с необходимыми параметрами (в данном случае число из spinedit), т.к. в задании нужно подсчитать 3 факториала. Мне проще было скопировать 3 раза подряд этот код и поправить под каждый факториал, т.к. время поджимало. Программа не должна вызвать у вас никаких затруднений. Мой код предельно прост и понятен.
Популярность: 14%


Дим,помоги плиз код написать поэтой фигне
Построить массив размерностью mxn по закону
х итое житое=(b3-a2)+(b+a)!-b1/2
“цифры эт степень”
Про закон не понял, что такое а, b. Восклицательный знак это факториал?
факториал.у мя он в отдельной процедуре описан ток вот с остальным кодом не соединяется когда программу запускаешь(
В моем коде в spinedit (компонент типа edit’a) вводят число и считается факториал. Просто в своей проге замени edit’ы в которые вводятся числа a и b на spinedit’ы. И в моем коде подсчета факториала вместо
until i=spinedit3.Value+1;пиши
until i=(spinedit1.Value+spinedit2.value+1);