Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 29.10.2016
Сообщений: 6
1

С помощью рекурсии вывести сумму элементов массива

29.06.2017, 19:36. Показов 1103. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите разобраться в рекурсии. С помощью рекурсии вывести сумму элементов массива.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2017, 19:36
Ответы с готовыми решениями:

Найти с помощью рекурсии сумму элементов массива и сумму элементов больше нуля
Всем привет!!! Прошу помочь мне разобраться с рекурсией: Нужно найти с помощью рекурсии сумму...

Нужно вычислить произведение всех элементов массива с помощью рекурсии.
Доброго времени суток! Нужно вычислить произведение всех элементов массива с помощью рекурсии....

С помощью записи «указатель-индекс» определить сумму четных элементов массива, сумму элементов
Создать и вывести на экран массив из 10-ти чисел-квадратов 1^2, 2^2,3^2, .. С помощью записи...

Определить сумму элементов данного одномерного массива с использованием рекурсии
Определить сумму элементов данного одномерного массива с использованием рекурсии.

2
13 / 14 / 4
Регистрация: 10.10.2014
Сообщений: 109
29.06.2017, 19:44 2
Сделал на скорую руку. Можно и нужно оптимизировать, но работает верно.

Рекурсия, если простыми словами - процедура, которая вызывает саму же себя, пока не выполнится условие выхода из процедуры. Если условия нет или оно никогда не выполнится - процедура будет работать вечно (пока не закончится память). (И да, сделал на Pascal, думаю на Delphi - не тяжело будет перевести)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Var mass: array[0..10] of integer;
summ: integer;
Procedure summarray(i: integer); 
Begin 
   summ:=summ+i;
   i:=i-1;
   Writeln (summ+' '+i);
    If i=0 then exit; 
   summarray(i);  
End; 
begin
    for var j:=0 to 9 do
      mass[j]:=j;
  summarray(9);
end.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.06.2017, 20:04 3
Лучший ответ Сообщение было отмечено Saccn как решение

Решение

Для примера.
Delphi
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
var
  Form1: TForm1;
  a:array of integer;
implementation
 
{$R *.dfm}
//рекурсивня функция
function summa(n:integer):integer;
begin
if n=0 then summa:=0
else summa:=summa(n-1)+a[n-1];//рекурсивный вызов
end;
procedure TForm1.Button1Click(Sender: TObject);
var n,i:integer;
begin
randomize;
n:=10;
setlength(a,n);
Edit1.Clear;
for i:=0 to n-1 do
 begin
  a[i]:=1+random(5);
  Edit1.Text:=Edit1.Text+'  '+inttostr(a[i]);
 end;
Edit2.Text:=inttostr(summa(n))
end;
Цитата Сообщение от Saccn Посмотреть сообщение
Помогите разобраться в рекурсии
Читайте сами, информации в инете море.
0
29.06.2017, 20:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2017, 20:04
Помогаю со студенческими работами здесь

Вычислить сумму ряда с помощью рекурсии
Помогите решить задачу с помощью рекурсии. Вот код: var i, n: integer; q: real; begin...

С помощью рекурсии вычислить сумму последовательности
Дан ряд натуральных чисел a1, a2, …,an, где а1=-1; a2=1; Создать программу, которая с...

Найти с помощью рекурсии сумму и возвести в степень
Помогите пожалуйста R (N) =N^3 / n + (N-1)^3/N + (N-2)^2 / N + ... + 2^3 / N + 1/N ....

Вывести древовидную структуру с помощью рекурсии
помогите разобраться с рекурсией... в C# есть массив, id | paret_id | name нужно с помощью...


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

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