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

Вычислить сумму модулей элементов массива, расположенных после первого элемента

16.05.2011, 12:45. Показов 1147. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал через массив, требуют через функцию.

В одномерном массиве, состоящем из n целочисленных элементов, вычислить сумму модулей элементов массива, расположенных после первого элемента, равного нулю.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program i1;
uses crt;
const n=5;
var m:array[1..n]of integer;
i,k,s:integer;
 begin
 clrscr; 
 write('Vvtdi massiv ->');
 for i:=1 to n do read(m[i]);
 readln;
 k:=1;
 while (k<=n) and (m[k]<>0) do inc(k);
 if k>n then writeln('V massive net nulei!') else
 begin
  s:=0;
  for i:=k+1 to n do s:=s+abs(m[i]);
  writeln('Summa modulei = ',s);
 end;
 readln;
end.
Помогите сделать через функцию!
__________________

Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие в нечетных позициях.


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
program i3
uses crt;
var m,m1:array[1..100]of integer;
i,j,n,k:integer;
 
begin
 clrscr;
 randomize;
 write('N-> ');
            readln(n);
 writeln('Ishodnii massiv');
 for i:=1 to n do
 begin
  m[i]:=-50+random(150);
  write(m[i],' ');
 end;
 
 k:=0;
 for i:=1 to n do if i mod 2=0 then
 begin
  inc(k);
  m1[k]:=m[i];
 end;
 for i:=1 to n do if i mod 2=1 then
 begin
  inc(k);
  m1[k]:=m[i];
 end;
 writeln('Otsortirovanni massiv: ');
 for i:=1 to n do write(m1[i],' ');
 readln;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2011, 12:45
Ответы с готовыми решениями:

Вычислить сумму модулей элементов массива, расположенных после первого отрицательного элемента
дана целочисленная прямоугольная матрица вычислить сумму модулей элементов массива,расположенных...

Вычислить сумму модулей элементов массива, расположенных после первого элемента, равного нулю
в одномерном массиве состоящем из n вычислить сумму модулей элементов массива расположенных после...

Найти Сумму модулей элементов массива, расположенных после первого отрицательного элемента
Сумму модулей элементов массива, расположенных после первого отрицательного элемента . Диапазон (...

Найти сумму модулей элементов массива, расположенных после первого элемента, равного 0
Доброго времени суток, Уважаемые формучане! Необходима помощь. Одномерные массивы В...

8
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
16.05.2011, 12:52 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
program idz6_1_1;
uses crt;
const n=5;
var m:array[1..n]of integer;
i,k,s:integer;
 
function Asum(idx: integer): integer;
var
i: integer;
begin
  Result:=0;
  for i:=idx to n do
  inc(Result,abs(m[i]));
end;
 
 begin
 clrscr;
 write('Vvtdi massiv ->');
 for i:=1 to n do read(m[i]);
 readln;
 k:=1;
 while (k<=n) and (m[k]<>0) do inc(k);
 if k>n then writeln('V massive net nulei!') else
 writeln('Summa modulei = ',Asum(k+1));
 readln;
end.
Как 1 из вариантов
1
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 26
16.05.2011, 12:55  [ТС] 3
Dekio, ругаеться на Result, ввёл его в описание как integer, правильно?
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
16.05.2011, 12:57 4
Евгений Перов, result это зарезервированная переменная функций. Ее объявлять не нужно.
0
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 26
16.05.2011, 13:00  [ТС] 5
Если не объявить, то не работает.
Миниатюры
Вычислить сумму модулей элементов массива, расположенных после первого элемента  
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
16.05.2011, 13:03 6
Так сказали б сразу что в Turbo Pascal пишете

Добавлено через 58 секунд
Pascal
1
2
3
4
5
6
7
function Asum(idx: integer): integer; 
var i, sum: integer;
begin 
for i:=idx to n do 
inc(sum,abs(m[i])); 
Asum:=sum;
end;
1
0 / 0 / 0
Регистрация: 01.04.2011
Сообщений: 26
16.05.2011, 13:07  [ТС] 7
Dekio, что то теперь не правильно считает. Должно получиться 3, а вышло 16383.
Миниатюры
Вычислить сумму модулей элементов массива, расположенных после первого элемента  
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
16.05.2011, 13:11 8
В pascal ABC все работает
0
trainspotting
1086 / 486 / 384
Регистрация: 11.11.2010
Сообщений: 773
16.05.2011, 13:40 9
Pascal
1
2
3
4
5
6
7
8
function Asum(idx: integer): integer; 
var i, sum: integer;
begin
{здесь sum иниц.}sum:=0;
for i:=idx to n do 
inc(sum,abs(m[i])); 
Asum:=sum;
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2011, 13:40
Помогаю со студенческими работами здесь

Найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю
В одномерном массиве, состоящем из n целочисленных элементов, вычислить: 1) минимальный по модулю...

Найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю
В одномерном массиве, состоящем из N целочисленных элементов, вычислить: 1.Сумму модулей элементов...

Вычислить сумму модулей элементов массива, расположенных после минимального элемента
1.Вычислить сумму модулей элементов массива К размером n, расположенных после минимального...

Вычислить сумму модулей элементов массива, расположенных после минимального элемента
Добрый вечер, помогите пожалуйста с задачкой на зачёт по турбо паскаль: Вычислить сумму модулей...


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

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

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