![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Jane |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Женский Репутация: ![]() ![]() ![]() |
Дана такая задачка:
"Напечатайте двумерный массив r (размерность задается), где r(n,k) - количество представлений числа n в виде суммы k слагаемых (перестановки слагаемых новым представлением не считаем). Например, 7=5+1+1=4+2+1=3+3+1=3+2+2 и больше вариантов представления числа 7 тремя слагаемыми нет, поэтому r(7,3)=4. В процессе вычисления используйте уже посчитанные значения." Помогите,пожалуйста разобраться с сутью задания... Я подставила несколько чисел-получилось,что если из n вычитать k, как раз и получается искомое кол-во представлений,т.е r(7,3)=4, r(5,3)=2,r(10,4)=6,возможно ли такое вообще? И ещё:какой тогда должен в результате получаться двумерный массив,если дано всего одно число n?Вот в примере:r(7,3)=4,т.е число строк в матрице-7,столбцов-3,элемент с индексом (7,3)=4,а все остальные элементы-нулевые??? ![]() |
![]() ![]() |
-Jane- |
![]()
Сообщение
#2
|
Гость ![]() |
Добавлено из темы "Помогите с двумерным массивом"
Здраствуйте! Помогите,пожалуйста с задачей: Напечатайте двумерный массив r (размерность задается), где r(n,k) - количество представлений числа n в виде суммы k слагаемых (перестановки слагаемых новым представлением не считаем). Например, 7=5+1+1=4+2+1=3+3+1=3+2+2 и больше вариантов представления числа 7 тремя слагаемыми нет, поэтому r(7,3)=4.(В процессе вычисления используйте уже посчитанные значения.) Я решила её так: Код Program Lab3; var A:array[1..100,1..100] of integer; {opisanie dvumernogo massiva A} i, {tekuschii nomer stroki} j, {tekuschii nomer stolbca} n, {kol-vo strok} k:integer; {kol-vo stolbcov} begin writeln('Vvedite razmer massiva:'); write('Vvedite kol-vo strok n='); readln(n); write('Vvedite kol-vo stolbcov k='); readln(k); for i:=1 to n do for j:=1 to k do if (j=1) or (i=j) then A[i,j]:=1 else if i<j then A[i,j]:=0 else A[i,j]:=i-j; writeln('dvumernii massiv,gde r(n,k)-kol-vo predstavlenii n v vide summi k slagaemih'); for i:=1 to n do begin for j:=1 to k do write(A[i,j],' '); writeln; end; readln; end. Преподаватель сказал,что формула A[i,j]:=i-j - слишком простая для этой задачи,и верна не для всех случаев,поэтому здесь нужно что-то другое писать,только вот не знаю что...Помогите мне пожалуйста... ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 16:59 |