Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
BrandsL
0 / 0 / 0
Регистрация: 02.02.2015
Сообщений: 3
1

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

02.02.2015, 18:41. Просмотров 467. Ответов 8
Метки нет (Все метки)

Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.
Нужно решить с помощью массивов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2015, 18:41
Ответы с готовыми решениями:

Вывести сумму всех положительных чётных чисел из данного набора
Дан набор ненулевых целых чисел; признак его завершения число 0. Вывести сумму...

Вывести целые части всех чисел из данного набора
Дано целое число N и набор из N положительных вещест-венных чисел. Вывести в...

Вывести сумму и произведение чисел из данного набора
Дано целое число N и набор из N вещественных чисел. Вывести сумму и...

Вывести в том же порядке целые части всех чисел из данного набора
1) Дано целое число N и набор из N положительных вещественных чисел. Вывести в...

Вывести сумму чисел из данного набора, расположенных между последними двумя нулями
Дано целое число N и набор из N целых чисел, содержащий по крайней мере два...

8
Puporev
Модератор
55022 / 42313 / 29218
Регистрация: 18.05.2008
Сообщений: 99,987
02.02.2015, 18:59 2
Цитата Сообщение от BrandsL Посмотреть сообщение
Нужно решить с помощью массивов
И зачем здесь массив?
Вводишь числа, если положительное суммируешь. 0 конец ввода.
0
BrandsL
0 / 0 / 0
Регистрация: 02.02.2015
Сообщений: 3
02.02.2015, 19:03  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
И зачем здесь массив?
условие такое
0
Ssnake707
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
03.02.2015, 01:43 4
BrandsL, Заполняешь массив числами и крутишь цикл пока не встретишь в массиве 0 и проверяешь их, если число положительное то его суммируешь.
0
smoker1111
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 18
03.02.2015, 12:10 5
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
27
28
29
30
procedure TForm1.Button1Click(Sender: TObject);
 
var
 
a:array[0..50] of Integer;
i:integer;
sum:Integer;
begin
 
sum:=0;
 
begin
 
for i := 0 to Memo1.Lines.Count-1 do
begin
a[i]:=StrToInt(Memo1.Lines[i]);
 
if a[i] <> 0 then
begin
sum:=sum+a[i];
end;
 
end;
 
 
end;
 
Label1.Caption:=IntToStr(sum);
 
end;
0
Puporev
Модератор
55022 / 42313 / 29218
Регистрация: 18.05.2008
Сообщений: 99,987
03.02.2015, 14:22 6
smoker1111, И Вы думаете что в Вашем массиве точно будет 1 ноль и он обязательно будет последним?
Или Вы думаете что если будет 10 нолей, а вы не напишете
Delphi
1
2
3
4
if a[i] <> 0 then
begin
sum:=sum+a[i];
end;
то сумма как-то изменится?
0
Ssnake707
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
03.02.2015, 14:35 7
smoker1111, После того как массив заполнен нужно крутить цикл с предусловием, так как признак конца массива это 0.
Delphi
1
2
3
4
5
6
7
i:=0;
sum:=0;
while A[i]<>0 do
 begin
   sum:=A[i]+sum;
   i:=i+1;
 end;
или же вот исправленный код.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button1Click(Sender: TObject);
 
var
 
a:array[0..50] of Integer;
 i:integer;
 sum:Integer;
begin
sum:=0; 
i:=0;
while (Memo1.lines[i]<>0) and (i<>Memo1.Lines.Count-1) do
 begin
  a[i]:=StrToInt(Memo1.Lines[i]);
  sum:=sum+a[i];
  i:=i+1;
 end;
a[i]:=StrToInt(memo1.lines[i]);
Label1.Caption:=IntToStr(sum);
end;
0
smoker1111
1 / 1 / 0
Регистрация: 30.01.2015
Сообщений: 18
03.02.2015, 18:07 8
А с чего вы взяли что
Цитата Сообщение от Puporev Посмотреть сообщение
И Вы думаете что в Вашем массиве точно будет 1 ноль и он обязательно будет последним?
Или Вы думаете что если будет 10 нолей, а вы не напишете
Цитата Сообщение от Puporev Посмотреть сообщение
то сумма как-то изменится?
в данном коде указанно что суммирует программа только числа не равные 0 если число равно 0 ни каких операции выполнятся не будет P.S Если я не прав с вашей точки зрения прошу объяснить и указать факты
Заранее спасибо))
0
Puporev
Модератор
55022 / 42313 / 29218
Регистрация: 18.05.2008
Сообщений: 99,987
03.02.2015, 18:43 9
Например у вас массив 1 2 3 0 0 0 4. Сумма будет по вашему 10, а по условию только 6.
Поэтому посмотрите лучше код Ssnake707, и не изобретайте велосипед с квадратными колесами.
0
03.02.2015, 18:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2015, 18:43

Вывести сумму чисел из данного набора, расположенных между последними двумя нулями (консольное приложение)
Дано целое число N и набор из N целых чисел, содержащий по крайней мере два...

Вывести целые части всех чисел из заданного набора
Дано целое число N и набор из N положительных вещест-венных чисел. Вывести в...

Найти сумму всех четных чисел от 1 до 100
Помогите пожалуйста, найти сумму всех парных чисел от 1 до 100. Написал...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru