Описать функцию подсчета количества цифр в числе - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Описать функцию DigitCount(К) целого типа, находящую количество цифр целого положительного числа К. Используя эту функцию, сформировать массив В, каждый элемент которого равен количеству цифр соответствующего элемента массива А размера N. Входной файл может быть произвольным Есть небольшие наработки, не могу понять как сделать что бы количество цифр выводилось в другой массив
Листинг программы
  1. const
  2. MaxCount = 200;
  3. type
  4. T_number = integer;
  5. T_elem = integer;
  6. T_size = 1..MaxCount;
  7. T_mas = array [T_size] of T_elem;
  8. ///Нахождение количества цифр в элементе массива
  9. function DigitCount(k: longint): byte;
  10. var
  11. n: longint;
  12. s: byte;
  13. begin
  14. n := abs(k);
  15. s := 0;
  16. while n > 10 do
  17. begin
  18. n := n div 10;
  19. s := s + 1
  20. end;
  21. DigitCount := s + 1
  22. end;
  23. ///Чтение из файла массива А размерностью n
  24. procedure input_output_mas(var A: T_mas; var Rmas: T_size; var num: T_number);
  25. begin
  26. num := 0;
  27. //assign(output, 'output.txt');
  28. assign(input, 'input.txt');
  29. Rmas := 0;
  30. while not eof(input) do
  31. begin
  32. inc(rmas); //текущая размерность массива
  33. read(A[rmas]);
  34. write(A[rmas], ' ');
  35. writeln('Колличество чисел = ', digitCount(a[rmas]));
  36. num := digitCount(a[rmas]);
  37. //assign(output, 'output.txt');
  38. //rewrite(output);
  39. //readln(num);
  40. // write(output, num);
  41. end;
  42. // close(output);
  43. close(input);
  44. end;
  45.  
  46. var
  47. A: T_mas; //исходный массив
  48. Rmas: T_size;//кол-во элементов
  49. num: T_number;
  50. begin
  51. writeln('Исходный массив: ');
  52. input_output_mas(a, Rmas, num);
  53. writeln();
  54.  
  55. end.

Решение задачи: «Описать функцию подсчета количества цифр в числе»

textual
Листинг программы
  1. const
  2.   MaxCount = 200;
  3.  
  4. type
  5.   T_number = integer;
  6.   T_elem = integer;
  7.   T_size = 1..MaxCount;
  8.   T_mas = array [T_size] of T_elem;
  9.  
  10. ///Нахождение количества цифр в элементе массива
  11. function DigitCount(k: longint): byte;
  12. var
  13.   n: longint;
  14.   s: byte;
  15. begin
  16.   n := abs(k);
  17.   s := 0;
  18.   while n > 10 do
  19.   begin
  20.     n := n div 10;
  21.     s := s + 1
  22.   end;
  23.   DigitCount := s + 1
  24. end;
  25.  
  26. ///Чтение из файла массива А размерностью n
  27. procedure input_output_mas(var A, B: T_mas; var Rmas: T_size);
  28. begin
  29.  
  30.   assign(input, 'input.txt');
  31.  
  32.   Rmas := 0;
  33.   while not eof(input) do
  34.   begin
  35.     inc(rmas);    //текущая размерность массива
  36.     read(A[rmas]);
  37.     write(A[rmas], ' ');
  38.     writeln('Колличество чисел = ', digitCount(a[rmas]));
  39.     B[rmas] := digitCount(a[rmas]);
  40.    
  41.   end;
  42.   close(input);
  43.  
  44.   assign(output, 'output.txt');
  45.   for var i := 1 to rmas do
  46.     write(output, b[i]:3);
  47.   close(output);
  48.  
  49.   writeln('************************');
  50.   writeln('      НОВЫЙ МАССИВ');
  51.   writeln('************************');
  52.   for var i := 1 to rmas do
  53.     write(b[i]:3);
  54.  
  55. end;
  56.  
  57. var
  58.   A, B: T_mas;   //исходный массив
  59.   Rmas: T_size;//кол-во элементов
  60.   num: T_number;
  61.  
  62. begin
  63.  
  64.   writeln('Исходный массив: ');
  65.   input_output_mas(a, b, Rmas);
  66.   writeln();
  67.  
  68. end.

Объяснение кода листинга программы

  1. Объявляются константы и типы данных для задачи.
  2. Функция DigitCount(k: longint): byte; отвечает за подсчет количества цифр в числе k.
  3. Функция input_output_mas(var A, B: T_mas; var Rmas: T_size) отвечает за чтение из файла массива А размерностью n, подсчет количества цифр в каждом числе и запись в файл output.txt.
  4. Создаются и инициализируются переменные A, B, Rmas и num типа T_mas, T_number, T_size.
  5. Выводится сообщение об исходном массиве.
  6. Вызывается функция input_output_mas(a, b, Rmas); для чтения из файла input.txt и записи в файл output.txt.
  7. Выводится сообщение о новом массиве, созданном на основе данных из файла output.txt.
  8. Задачу можно считать решенной.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы