Как будет выглядеть это в си? - C (СИ)

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

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

Листинг программы
  1. FROM inOut IMPORT Write, Writeln;
  2. CONST N=10;
  3. VAR i,k,r:CARDINAL;
  4. d:ARRAY[1..N] OF CARDINAL;
  5. BEGIN
  6. FOR k:=1 TO N DO
  7. Write(".");r:=0;
  8. FOR i:=1 TO k-1 DO
  9. r:=10*r+d[i]; d[i]:=r DIV 2; r:=r MOD 2;
  10. Write(CHR(d[i]+ORD("0")))
  11. END;
  12. d[k]:=5; Write("5"); WriteLn
  13. END
  14. END Power.
Ну я тут, что то набросал
Листинг программы
  1. main()
  2. {
  3. int d[n];
  4. int i,k,r;
  5. r=0;
  6. for(k=1,k>n,k++)
  7. {
  8. for (i=1,k-1)
  9. r=10*r+d[i];
  10. d[i]=r/2;
  11. r=r%2;

Решение задачи: «Как будет выглядеть это в си?»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdint.h>
  3.  
  4. #define N 10
  5.  
  6. int main(void)
  7. {
  8.   uint32_t i, k, r;
  9.   uint32_t d[N] = {0};
  10.  
  11.   for (k = 0; k < N; k++)
  12.   {
  13.     printf(".");
  14.  
  15.     r = 0;
  16.  
  17.     for (i = 0; i < k; i++)
  18.     {
  19.       r = 10 * r + d[i];
  20.  
  21.       d[i] = r / 2;
  22.       r = r % 2;
  23.  
  24.       printf("%c", (char)(d[i] + '0'));
  25.     }
  26.  
  27.     d[k] = 5;
  28.  
  29.     printf("5\n");
  30.   }
  31.  
  32.   return 0;
  33. }

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

В этом коде используется язык программирования C. Он выполняет следующие действия:

  1. Подключает необходимые библиотеки для работы сprintf и типами данных.
  2. Определяет константу N, которая задает размер массива.
  3. Объявляет переменные i, k, r и массив d.
  4. Инициализирует все элементы массива d значением 0.
  5. В цикле for перебирает все возможные значения k от 0 до N-1.
  6. Внутри цикла выводит точку и затем выполняет следующие действия:
  7. Объявляет переменную r равной 0.
  8. В цикле for перебирает все значения i от 0 до k-1.
  9. Внутри цикла вычисляет новое значение r как 10 умноженное на текущее значение r, с последующим добавлением значения d[i].
  10. Обновляет значение d[i] равным новому значению r, разделенному на 2.
  11. Вычисляет остаток от деления нового значения r на 2 и сохраняет его в переменной r.
  12. Выводит значение d[i] плюс '0' как символ.
  13. После завершения внутреннего цикла, обновляет значение d[k] равным 5.
  14. Выводит значение 5.
  15. Завершает цикл for и выводит точку с помощью функции printf.
  16. Возвращает 0, чтобы указать, что программа успешно завершилась.

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


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

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

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

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

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

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