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

Подпрограммы. Получить удвоенную сумму всех положительных членов последовательности с помощью функции

04.11.2011, 01:02. Показов 2989. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны натуральное число n и действительные a1,…,an, где n=100.
Получить удвоенную сумму всех положительных членов последовательности a1,…,an.

прога не хочет работать, вылетают ошибки на каждом этапе.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var a: array [1..100] of double;
 n, i: 1..100; 
 s: double;
begin
readln(n);
for i := 1 to n do readln(a[i]);
  s := 0;
for i := 1 to n do 
  if a[i] > 0 then s := s + a[i];
 
s := s * 2;
writeln(s:10:10);
readln;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2011, 01:02
Ответы с готовыми решениями:

Получить удвоенную сумму всех положительных членов последовательности
Даны нат. число, действительные числа X1,...,Xn. Получить удвоенную сумму всех положительных членов...

Получить удвоенную сумму всех положительных членов последовательности
Одномерные массивы. Даны натуральное число n и действительные a1,…,an, где n≤3000. Получить...

Получить удвоенную сумму всех положительных членов последовательности
Завтро зачет а я не знаю как решить эту задачу, помогите пожалуйста очень срочно надо!!! Даны...

Получить удвоенную сумму всех положительных членов последовательности A 1, A2 , ..., An
Даны натуральное число n, действительные числа A1,A2,...,An.Получить удвоенную сумму всех...

11
26 / 26 / 10
Регистрация: 30.10.2011
Сообщений: 68
04.11.2011, 01:26 2
я уже тебе ответил тут
0
4 / 4 / 2
Регистрация: 03.11.2011
Сообщений: 103
13.11.2011, 23:43  [ТС] 3
надо только что бы пользователю писала что надо делать (в ведите первое число , второе число и т.д)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var a: array [1..100] of real;
  n, i: 1..100;
  s: real;
begin
writeln ('в веди число цифр');
readln(n);
for i := 1 to n do readln(a[i]);
  s := 0;
for i := 1 to n do
  if a[i] > 0 then s := s + a[i];
  writeln ('вывод удвоенной суммы цифр');
  s := s * 2;
writeln(s:10:1);
readln;
end.
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
13.11.2011, 23:54 4
[quote=igor913;2168078]писала что надо делать[/quoЧто, только это?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses crt;
var a: array [1..100] of real;
n, i: 1..100;
s: real;
begin
writeln ('Введите количество элементов массива');
readln(n);
for i := 1 to n do
    BEGIN
    write ('Введите ', i, ' элемент массива ');
    readln(a[i]);
    end;
s := 0;
for i := 1 to n do
if a[i] > 0 then s := s + a[i];
write ('Удвоенная сумма элементов массива =');
s := s * 2;
writeln(s:10:1);
readln;
end.
1
61 / 60 / 17
Регистрация: 17.02.2011
Сообщений: 161
13.11.2011, 23:55 5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var a: array [1..100] of real;
n, i: 1..100;
s: real;
begin
write('Введи число цифр: ');
readln(n);
for i := 1 to n do begin
   write('введи ', i, ' число: ');
   readln(a[i]);
end;
s := 0;
for i := 1 to n do
   if a[i] > 0 then s := s + a[i];
      writeln ('вывод удвоенной суммы цифр');
s := s * 2;
write(s:10:1);
end.
1
4 / 4 / 2
Регистрация: 03.11.2011
Сообщений: 103
13.11.2011, 23:57  [ТС] 6
спасибо
0
4 / 4 / 2
Регистрация: 03.11.2011
Сообщений: 103
19.12.2011, 14:21  [ТС] 7
Даны натуральное число n и действительные a1,…,an, где n≤3000. Получить удвоенную сумму всех положительных членов последовательности a1,…,an.

a1,…,a3000 заполнить рандомными числам



Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var a: array [1..300] of real;
  n, i: 1..300;
  s: real;
begin
readln(n);
for i := 1 to n do readln(a[i]);
  s := 0;
for i := 1 to n do
  if a[i] > 0 then s := s + a[i];
 
  s := s * 2;
writeln(s:10:10);
readln;
end.
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
19.12.2011, 16:26 8
если хочешь заполнить дробными, делай так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var a: array [1..300] of real;
 n,i: 1..300;
 s: real;
 begin
 readln(n);
 s := 0;
 for i := 1 to n do
    begin
    a[i]:=(random(201)-100)/(random(9)+1);
    write(a[i]:6:1);
    if a[i]>0 then s:=s+a[i];
    end;
 s := s * 2;
 writeln;
 writeln(s:10:10);
 readln;
 end.
если целыми - так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var a: array [1..300] of real;
 n,i: 1..300;
 s: real;
 begin
 readln(n);
 s := 0;
 for i := 1 to n do
    begin
    a[i]:=random(201)-100;
    write(a[i]:6:1);
    if a[i]>0 then s:=s+a[i];
    end;
 s := s * 2;
 writeln;
 writeln(s:10:10);
 readln;
 end.
1
--\.founder./--
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
22.12.2011, 22:16 9
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Uses crt;
 
var n,i:integer;
sum,z:real;
function Summa(x:real):real;
begin
if x>0 then Summa:=x;
end;
 
begin
   randomize;
   Write('N = ');readln(n);
   For i:=1 to n do
   begin
   z:=random*51-25;
   sum:=sum + Summa(z);
   end;
   Writeln('Удвоенная сумма = ',sum*2:0:5);
end.
2
4 / 4 / 2
Регистрация: 03.11.2011
Сообщений: 103
22.12.2011, 22:31  [ТС] 10
а может быть подругому??
Pascal
1
2
3
4
5
6
7
8
function<имя>(тип результата функции)
var ----
const---
begin
-----
----
------
end;
0
--\.founder./--
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
22.12.2011, 22:40 11
Цитата Сообщение от igor913 Посмотреть сообщение
function<имя>(тип результата функции)
var ----
const---
begin
-----
----
------
end;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function Summa(n:integer):real;
var i:integer;
    sum,z:real;
   begin
   For i:=1 to n do
       begin
       z:=random*51-25;
       if z>0 then sum:=sum+z;
       end;
   Summa:=sum;
   end;
 
var sum:real;
    
const n=60;
 
begin
Writeln('Удвоенная сумма = ',Summa(n)*2:0:3);
end.
2
4 / 4 / 2
Регистрация: 03.11.2011
Сообщений: 103
28.12.2011, 20:01  [ТС] 12
1) обьясните как работает прога
2) что надо добавить чтобы можно было вводить чиста с клавы без рандомного заполнения

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function Summa(n:integer):real;
var i:integer;
    sum,z:real;
   begin
   For i:=1 to n do
       begin
       z:=random*51-25;
       if z>0 then sum:=sum+z;
       end;
   Summa:=sum;
   end;
 
var sum:real;
    
const n=60;
 
begin
Writeln('Удвоенная сумма = ',Summa(n)*2:0:3);
end.
0
28.12.2011, 20:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2011, 20:01
Помогаю со студенческими работами здесь

Получить удвоенную сумму всех положительных членов последовательности a [1], ... a [n].
дано натуральное число n, действительные числа a , ..., a . Получить удвоенную сумму всех...

Получить удвоенную сумму всех положительных членов последовательности
Даны натуральное число n, действительные числа А 1,А 2, ..., Аn. Получить: удвоенную сумму всех...

Получить удвоенную сумму всех положительных членов последовательности
дано натуральное число n действительные числа a1 ... an получить удвоенную сумму всех положительных...

Получить удвоенную сумму всех положительных членов последовательности
Дано натуральное число n, действительные числа а1.....аn. Получить удвоенную сумму всех...


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

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

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