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

Содержит ли последовательность хотя бы одно число, сумма цифр в котором равна их количеству

18.01.2015, 13:39. Показов 2108. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите программу, используя процедуры и функции.
Вводится последовательность целых чисел, 0 – конец последовательности.
Определить, содержит ли последовательность хотя бы одно число, сумма цифр в котором равна их количеству. При решении задачи создать процедуру, которая возвращает сумму и количество цифр в числе.

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
44
45
46
47
48
procedure TForm1.Button1Click(Sender: TObject);
var M, X:integer;
  kol_p, N:word;
  p, y:string;
 
  var
   b:integer;
   g,h,t,i,s:integer;
   r:byte;
procedure zifri(a:word; var n,k:integer);
   var
      i:byte;
      s:integer;
   begin
      k:= a;
      n:= a;
      i:= 0;
      s:= 0;
      while k<>0 do
         begin
            n:= k mod 10;
            i:= i+1;
            k:= k div 10;
            s:= s+n;
         end;
      writeln('Разрядность числа  ',i);
      writeln('Сумма цифра в числе  ',s);
      if i = s then
         r:=r+1;
   end;
  begin
    y:=InputBox('Ввод','введите количество элементов в последовательности','0');
    M:=StrToInt(y);
    y:=InputBox('Ввод элементов последовательности','Введите число','0');
    X:=StrToInt(y);         kol_p:=0;
    for i:=2 to M do begin
    y:=InputBox('Ввод элементов последовательности','Введите число','0');
    X:=StrToInt(y);
 
        if x>0 then
        kol_p:=kol_p+1;  end;
        if kol_p=0 then
    MessageDlg('Последовательность содержит число(a), кол-во разрядов которго(ых) равно сумме цифр,таких чисел'
    , mtInformation , [mbOk] ,0)
     else     MessageDlg('в последовательности нет чисел, кол-во разрядов которых равно сумме их цифр'
                                      , mtInformation , [mbOk] ,0);
 
    end; end.
что не так? все время пишет что нет таких чисел? что-то с процедурой наверно не так.. скажите пожалуйста)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2015, 13:39
Ответы с готовыми решениями:

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

Определить, содержит ли последовательность хотя бы одно число, сумма цифр в котором равна их количеству
Вводится последовательность целых чисел, 0 – конец последовательности. Определить, содержит ли...

Содержит ли последовательность число, сумма цифр в котором равна их количеству
у меня вот такая вот задачка, а как ее сделать ума не приложу, сделать ее нужно в делфи, с формой и...

Определить, содержит ли последовательность хотя бы одно совершенное число
Вводится последовательность целых чисел, 0 - конец последовательности. Определить, содержит ли...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
18.01.2015, 14:00 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
procedure TForm1.Button1Click(Sender: TObject);
var
  M, X: integer;
  kol_p: word;
  y: string;
 
var
  i: integer;
 
  procedure zifri(a: word; var r: word);
  var
    i: byte;
    s, n, k: integer;
  begin
    k := a;
    n := a;
    i := 0;
    s := 0;
    while k <> 0 do
    begin
      n := k mod 10;
      i := i + 1;
      k := k div 10;
      s := s + n;
    end;
    if i = s then
      r := r + 1;
  end;
 
begin
  y := InputBox('Ввод', 'введите количество элементов в последовательности', '0');
  M := StrToInt(y);
  kol_p := 0;
  for i := 1 to M do
  begin
    y := InputBox('Ввод элементов последовательности', 'Введите число', '0');
    X := StrToInt(y);
    zifri(x, kol_p);
 
  end;
  if kol_p > 0 then
    MessageDlg('Последовательность содержит число(a), кол-во разрядов которго(ых) равно сумме цифр,таких чисел'
      , mtInformation, [mbOK], 0)
  else
    MessageDlg('в последовательности нет чисел, кол-во разрядов которых равно сумме их цифр'
      , mtInformation, [mbOK], 0);
 
end;
1
18.01.2015, 14:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2015, 14:00
Помогаю со студенческими работами здесь

Определить, содержит ли последовательность хотя бы одно совершенное число
Lazarus IDEv1.2.2 Помогите пожалуйста с заданием!Необходим текст программы. Вводится...

Определить, содержит ли последовательность хотя бы одно простое число
Вводится последовательность из N целых положительных элемен-тов. Определить, содержит ли...

Определить, содержит ли последовательность хотя бы одно совершённое число
Вводится последовательность целых чисел, 0 — конец последовательности. Определить, содержит ли...

Натуральное число, в котором n цифр, если сумма цифр возведённая в nую степень равна числу то вы вывесте число на экран(интервал чисел от 1 до k)
Натуральное число, в котором n цифр, если сумма цифр возведённая в nую степень равна числу то вы...


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

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

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