4 / 4 / 1
Регистрация: 09.02.2012
Сообщений: 65
1

Найти сумму цифр всех элементов массива

17.02.2012, 10:23. Показов 3653. Ответов 3
Метки нет (Все метки)

пользователь вводит размерность и элементы одномерного массива натуральных чисел. найти сумму цифр всех элементов массива.Вспомогательный алгоритм оформите в виде реккурсивной процедуры или функции.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2012, 10:23
Ответы с готовыми решениями:

Найти сумму всех элементов массива целых чисел, которые меньше среднего арифметического элементов массива.
Найти сумму всех элементов массива целых чисел, которые меньше среднего арифметического элементов...

Найти сумму всех элементов массива целых чисел, которые меньше среднего арифметического элементов массива
Помогите пожалуйста найти в чем ошибка? Пишет что арифметическое переполнение! Задание: Найти сумму...

Найти сумму всех положительных и произведение всех отрицательных элементов двумерного массива
задачка №1. найти сумму всех положительных и произведение всех отрицательных элементов двумерного...

Найти сумму и среднее арифметическое, общую сумму всех элементов массива
Помогите решить , очень надо Даны 2 одномерные масив состоящие их 9 элементов на интервале от -10...

3
4299 / 1421 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
18.02.2012, 11:44 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Здесь обычная нерекурсивная процедура:
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
uses crt;
type mas =array[0..100] of integer;
var s,i,n:integer;
    a: mas;
procedure sum(a: mas; var s: integer);
var x,i: integer;
begin
 for i:=1 to n do
  begin
   x:=a[i];
   while x<>0 do
    begin
     s:=s+(x mod 10);
     x:=x div 10;
    end;
  end;
 writeln('Сумма цифр массива: ',s);
end;
begin
 write('введите размерность:');
 readln(n);
 for i:=1 to n do
  begin
   write('введите ',i,' число: ');
   readln(a[i]);
  end;
  sum(a,s);
  readln;
end.
Народ, если кто подскажет, каким боком тут сделать рекурсию, буду признателен.
1
trainspotting
1086 / 486 / 384
Регистрация: 11.11.2010
Сообщений: 773
19.02.2012, 02:45 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
const
  nmax=100;
type
  Tarr=array[1..nmax] of integer;
var
  a:Tarr;
  i,n,s:integer;
function SumDigits(a:integer):byte;
begin
  if a=0 then
    SumDigits:=0
  else
    SumDigits:=a mod 10+SumDigits(a div 10);
end;
begin
  randomize;
  repeat
    write('Razmer massiva, ne bolee ',nmax,': ');
    readln(n);
  until n in [1..nmax];
  writeln('Ishodniy massiv:');
  for i:=1 to n do
    begin
      a[i]:=random(50)+1;
      write(a[i]:4);
    end;
  writeln;
  s:=0;
  for i:=1 to n do
    inc(s,SumDigits(a[i]));
  write('S=',s);
end.
Добавлено через 14 часов 24 минуты
Доработал код:
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
const
  nmax=100;
type
  Tarr=array[1..nmax] of integer;
var
  a:Tarr;
  i,n:integer;
function SumDigits(a:integer):byte;
begin
  if a=0 then
    SumDigits:=0
  else
    SumDigits:=a mod 10+SumDigits(a div 10);
end;
function SumArr(const x:Tarr;arrSize:integer):integer;
begin
  if arrSize=0 then
    SumArr:=0
  else
    SumArr:=SumDigits(x[arrSize])+SumArr(x,arrSize-1);
end;
begin
  randomize;
  repeat
    write('Razmer massiva, ne bolee ',nmax,': ');
    readln(n);
  until n in [1..nmax];
  writeln('Ishodniy massiv:');
  for i:=1 to n do
    begin
      a[i]:=random(50)+1;
      write(a[i]:4);
    end;
  writeln;
  write('S=',SumArr(a,n));
end.
2
4 / 4 / 1
Регистрация: 09.02.2012
Сообщений: 65
13.03.2012, 08:35  [ТС] 4
спасибо большое,этот паскаль надоел уже)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2012, 08:35
Помогаю со студенческими работами здесь

Найти минимальный и максимальный элемент массива.Найти сумму всех элементов массива
Проверьте пожалуйста программу. Program lb4; var i,j,k,l,m,n,v:integer; mass:array of real;...

Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно
1. Дан массив размера N и целые числа K и L (1 &lt; K ≤ L ≤ N). Найти сумму всех элементов массива,...

Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно
Дан массив размера N и целые числа K и L (1&lt;K&lt;=L&lt;=N). Найти сумму всех элементов массива, кроме...

Найти сумму всех элементов массива, кроме элементов с номерами K и L
Дан массив размера N и целые числа K и L (1&lt;K&lt;=L&lt;=N). Найти сумму всех элементов массива, кроме...


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

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

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