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

Верно ли, что сумма четных цифр больше сумма нечетных цифр данного числа

06.11.2014, 17:14. Показов 3770. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить задачи с процедурами, пожалуйста))
Дано натуральное число. Верно ли, что сумма четных цифр больше сумма нечетных цифр данного числа.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2014, 17:14
Ответы с готовыми решениями:

Условный оператор. Верно ли, что сумма цифр данного числа больше М, а само число делится на N
Дано натуральное число. Верно ли, что сумма его цифр больше М, а само число делится на N?

Верно ли, что сумма нечетных цифр равна сумме четных?
Дано 4х значное число, верно ли что сумма нечетных чисел равна сумме четных?

Верно ли, что сумма цифр данного числа равна А
1. Дано натуральное число. Верно ли, что сумма цифр данного числа равна А (А вводится с...

Верно ли, что сумма остатков от деления нечётных x на k будет больше, чем сумма остатков от деления чётных x на k
Ввести N чисел :х1,х2,..хn (N>=3) и число k.Выяснить, правда ли, что сумма остатков от деления...

7
Эксперт Pascal/Delphi
6807 / 4565 / 4818
Регистрация: 05.06.2014
Сообщений: 22,438
06.11.2014, 19:37 2
Использован код Kodzaev.
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
37
38
39
40
41
42
43
uses
  sysutils;
 
function sumNotOdd(x: longint): integer;
var
  s: integer;
begin
  s := 0;
  while x > 0 do
  begin
    if x mod 10 mod 2 = 0 then
      s := s + x mod 10;
    x := x div 10
  end;
  sumNotOdd := s;
end;
 
function sumOdd(x: integer): integer;
var
  s: integer;
begin
  s := 0;
  while x > 0 do
  begin
    if x mod 10 mod 2 <> 0 then
      s := s + x mod 10;
    x := x div 10
  end;
  sumOdd := s;
end;
 
var
  n:integer;
begin
  write('Введите число: '); readln(n);
  writeln('Сумма четных цифр:   ',sumNotOdd(n));
  writeln('Сумма нечетных цифр: ',sumOdd(n));
  if sumnotodd(n)>sumodd(n) then
    writeln('Верно, что сумма четных цифр больше.')
  else
    writeln('Неверно, что сумма четных цифр больше.'); 
  readln;
end.
1
0 / 0 / 1
Регистрация: 22.10.2014
Сообщений: 15
06.11.2014, 20:26  [ТС] 3
Спасибо большое! но мне нужно решение с процедурой(((
0
Эксперт Pascal/Delphi
6807 / 4565 / 4818
Регистрация: 05.06.2014
Сообщений: 22,438
06.11.2014, 20:41 4
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
37
38
39
uses
  sysutils;
 
procedure sumNotOdd(x: longint;var s:integer);
begin
  s := 0;
  while x > 0 do
  begin
    if x mod 10 mod 2 = 0 then
      s := s + x mod 10;
    x := x div 10
  end;
end;
 
procedure sumOdd(x: integer;var s:integer);
begin
  s := 0;
  while x > 0 do
  begin
    if x mod 10 mod 2 <> 0 then
      s := s + x mod 10;
    x := x div 10
  end;
end;
 
var
  sn,sc,n:integer;
begin
  write('Введите число: '); readln(n);
  sumNotOdd(n,sc);
  writeln('Сумма четных цифр:   ',sc);
  sumOdd(n,sn);
  writeln('Сумма нечетных цифр: ',sn);
  if sc>sn then
    writeln('Верно, что сумма четных цифр больше.')
  else
    writeln('Неверно, что сумма четных цифр больше.');
  readln;
end.
1
0 / 0 / 1
Регистрация: 22.10.2014
Сообщений: 15
07.11.2014, 09:23  [ТС] 5
Скажите, пож-та, где у меня тут ошибка?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
   number, temp, sum1, sum2: integer;
   procedure a1 ( sum11, sum22: integer );
   var  number1, temp1: integer;
   begin
   readln(number);
while number<>0 do
begin
temp:=number mod 10;                         
if temp mod 2 =0 then sum1:=sum1+temp
                 else sum2:=sum2+temp;
number:=number div 10;                     
end;
 
  end;
  begin
  writeln('Введите число');
  readln (number);
  a1(sum1, sum2);
  if sum1>sum2 then writeln ('Верно')
               else writeln ('Неверно');
 
               end.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
07.11.2014, 09:33 6
Лучший ответ Сообщение было отмечено Zalia как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var number: integer;//глобальная переменная вводимое число
procedure a1 ( var sum1, sum2: integer );//процедура возвращает значения сумм
var temp: integer;
begin
while number<>0 do
 begin
  temp:=number mod 10;
  if temp mod 2 =0 then sum1:=sum1+temp
  else sum2:=sum2+temp;
  number:=number div 10;
 end;
end;
var sum1, sum2: integer;
begin
writeln('Введите число');
readln (number);
a1(sum1, sum2);
if sum1>sum2 then writeln ('Верно')
else writeln ('Неверно');
end.
1
0 / 0 / 1
Регистрация: 22.10.2014
Сообщений: 15
07.11.2014, 09:41  [ТС] 7
Спасибо) Опять накосячила с параметрами, значит...
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
07.11.2014, 09:46 8
Главная ошибка то что нет var в параметрах процедуры
Pascal
1
procedure a1 ( sum11, sum22: integer );
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2014, 09:46
Помогаю со студенческими работами здесь

Верно ли, что произведение цифр данного числа больше 25
Дано натуральное число a, a&gt;10. Верно ли следующее утверждение: произведение цифр данного числа...

Верно ли, что сумма его цифр больше, а само число четное?
Дано натуральное число. а) Верно ли, что сумма его цифр больше, а само число четное? б) Верно ли,...

Верно ли, что сумма двух первых цифр данного четырехзначного числа равна сумме двух его последних цифр
Помогите решить задачки: 1) Проверить истинность высказывания: &quot;Сумма двух первых цифр данного...

Верно ли что число 4-значное и у него сумма крайних цифр равна сумме средних цифр? Найти все такие числа.
Написать программу : Дано нат. число. Верно ли что число 4-значное и у него сумма крайних цифр...


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

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

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