11.04.2013, 03:09 | #1 (permalink) |
Новичок
Регистрация: 05.04.2013
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите с перебором на Паскале
Столкнулся с такой задачей. Есть одномерный массив m, который формируется определенным образом. m = [8, 4, 4, 2, 2, 2, 2]. Дальше мы задаем параметр x от 1 до n-4 (n = 8). Задача сводится к перебору всех возможных сочетаний из элементов массива по x. Например, x=2. Перебор осуществляем по два элемента. Получаем: (8,4) (8,4) (4,4) (4,2) (2,2) (8,2) и т.д. всего 21 сочетание. Это бином Ньютона. Программа должна складывать числа из каждого сочетания и формировать новый одномерный массив размером 1x21. 8+4=12, 8+4=12, 4+4=8 и т.д. Например, x=3. Перебор по три элемента. Получаем (8,4,4) (8,4,2) (8,2,2) и т.д. всего 35 сочетаний. Дальше складываем: 8+4+4=16, 8+4+2=14 и т.д. Формируем из этих чисел массив размером 1x35. Исходник: Код:
VAR m: array of real; a,b,n,y,i,j,x: integer; BEGIN a:=2; b:=2; n:=a*b+a+2; y:=2*a*b; Write('x= '); ReadLn(x); Setlength(m,n-1); // Формируем массив j:=1; m[j]:=8; for i:=1 to a do begin j:=j+1; m[j]:=(1/a)*y; end; for i:=1 to a*b do begin j:=j+1; m[j]:=(1/(a*b))*y; end; // Выводим массив for j:=1 to n-1 do write(m[j]:3:0); WriteLn; ReadLn END. |
11.04.2013, 03:09 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Проблема уже обсуждалась, рекомендую прочитать информацию по этим ссылкам Помогите с программой на Паскале Помогите с программой на паскале Помогите с задачей на Паскале Помогите с программой на Паскале Помогите с задачами на фри Паскале |
21.04.2013, 17:07 | #2 (permalink) |
Новичок
Регистрация: 05.04.2013
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Есть предложения?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|