0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 19
1

Задача на рекурсию

17.10.2017, 05:45. Показов 1613. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
посажена картошка: 30 рядков по 20 лунок в каждом.

1. Смоделировать картофельное поле, зная, что в лунке может расти не более 8 картофелин. Отобразить модель на экране.
2. Подсчитать урожай с поля (число картофелин).
3. Найти наиболее урожайный рядок.
4. Упорядочить рядки в порядке возрастания урожайности.
5. Выполнить задание пункта 2 рекурсивно. Считая, что урожай с поля равен сумме урожая с первого рядка и урожая с остального поля, а урожай с рядка равен сумме числа картофелин в первой лунке рядка и урожая с остальной части рядк
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2017, 05:45
Ответы с готовыми решениями:

Задача на рекурсию. Сортировка блюд
На обед в столовой можно взять любое количество блюд из набора: салат, первое, второе, гарнир,...

Задача на рекурсию
const n=...; type vector = array of real; Описать рекурсивную функцию max (x) для определения...

Задача на рекурсию и оформление её в модуль
Пользователь вводит размерность и элементы одномерного массива натуральных чисел. Найти сумму...

Задача на рекурсию
Вот код проги которую я написал: #include <iostream> using namespace std; int factr(double...

1
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.10.2017, 15:19 2
Лучший ответ Сообщение было отмечено xgdgzdZ как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
type  pole=array[1..30,1..20]of integer;
function ryad(a:pole;k,m:integer):integer;
begin
if m=1 then ryad:=a[k,1] else ryad:=ryad(a,k,m-1)+a[k,m];
end;
function uroz(a:pole;n,m:byte):integer;
begin
if n=1 then uroz:=ryad(a,n,m)
else uroz:=uroz(a,n-1,m)+ryad(a,n,m);
end;
var a:pole;
    b:array[1..30] of integer;
    m,n,i,j,k,imx,max,x:integer;
begin
randomize;
n:=30;
m:=20;
writeln('Исходное поле');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(9);
    write(a[i,j]:2);
   end;
  writeln;
 end;
writeln('Урожай с поля в картофелинах=',uroz(a,n,m));
max:=0;
for i:=1 to n do
 begin
  k:=0;
  for j:=1 to m do
  k:=k+a[i,j];
  b[i]:=k;
  if k>max then
   begin
    max:=k;
    imx:=i;
   end;
 end;
writeln('Наиболее урожайный рядок ',imx,'  количество картофелин=',max);
for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]>b[j] then
 begin
  x:=b[i];
  b[i]:=b[j];
  b[j]:=x;
  for k:=1 to m do
   begin
    x:=a[i,k];
    a[i,k]:=a[j,k];
    a[j,k]:=x;
   end;
 end;
writeln('Поле в порядке возрастания урожайности рядков');
writeln('урожайность':m*2+12);
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:2);
  writeln(b[i]:8);
 end;
end.
0
17.10.2017, 15:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2017, 15:19
Помогаю со студенческими работами здесь

Задача на рекурсию
Во время недавних раскопок на Марсе были обнаружены листы бумаги с таинственными символами на них....

Задача на рекурсию
Всем доброго времени суток. Прошу подсказать мне условие задачи на рекурсию(нам дали задание самим...

задача на рекурсию
Карта лабиринта представляет квадратное поле размером N*N. Некоторые квадраты этого поля запрещены...

задача на рекурсию в си++
Даны числа a и b. Определите, сколько существует последовательностей из a нулей и b единиц, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru