Как правильно заменить cout, чтобы получилась программа на чистом Си - C (СИ)
Формулировка задачи:
Нужно переписать этот код, чтобы числое Си получилось, помогите, пожалуйста, куча ошибок вылазит..
Листинг программы
- int big_printer(const big_number a){
- big_number d,de,acop,r;
- big_copy(a,&acop);
- to_big(10,&d);
- unsigned int k[10241];
- int t;
- t=0;
- while(big_is_zero(acop)==0){
- big_div(acop,d,&r,&de);
- k[t]=de.num[0];
- big_div(acop,d,&de,&r);
- big_copy(de,&acop);
- t++;
- }
- if(a.sign!=1){
- cout<<"-";
- }
- for(int i=t;i>=1;i--){
- cout<<k[i-1];
- }
- cout<<endl;
- return 0;
- }
Добавлено через 3 минуты 18 секунд
сейчас сделала так, но по-моему что-то не то...
Листинг программы
- int big_printer(const big_number a){
- big_number d,de,acop,r;
- unsigned int k[10241];
- int t, i;
- big_copy(a,&acop);
- to_big(10,&d);
- t=0;
- while(big_is_zero(acop)==0){
- big_div(acop,d,&r,&de);
- k[t]=de.num[0];
- big_div(acop,d,&de,&r);
- big_copy(de,&acop);
- t++;
- }
- if(a.sign!=1){
- printf("-");
- }
- for(i=t;i>=1;i--){
- printf("%d", k[i-1]);
- }
- return 0;
- }
Решение задачи: «Как правильно заменить cout, чтобы получилась программа на чистом Си»
textual
Листинг программы
- int big_printer(const Big_number a){
- Big_number d, de, acop, r;
- unsigned int k[10241];
- int t;
- big_copy(a, &acop); /* должна быть объявлена выше */
- to_big(10, &d); /* должна быть объявлена выше */
- for (t = 0; !big_is_zero(acop); t++) { /* должна быть объявлена выше */
- big_div(acop, d, &r, &de); /* должна быть объявлена выше */
- k[t] = de.num[0];
- big_div(acop, d, &de, &r);
- big_copy(de, &acop);
- }
- if (a.sign != 1)
- putchar('-');
- while (--t >= 0)
- printf("%d", k[t]);
- return 0;
- }
Объяснение кода листинга программы
Этот код на языке Си выполняет вычисления с большими числами и выводит результат на консоль. Вот список действий, которые он выполняет:
- Создает переменные
d
,de
,acop
,r
иt
для хранения чисел и индексов. - Копирует значение переменной
a
в переменнуюacop
. - Создает число
d
равное 10. - Начинает цикл, который продолжается, пока число
acop
не станет равным нулю. - Делит
acop
наd
и сохраняет частное в переменнойr
, а остаток в переменнойde
. - Сохраняет значение
de
в массивеk
с индексомt
. - Делит
acop
наd
и сохраняет частное в переменнойde
, а остаток в переменнойr
. - Копирует значение
de
вacop
. - Увеличивает значение
t
на 1. - Если знак числа
a
равен 1, то выводит-
, иначе ничего не выводит. - Пока значение
t
больше или равно 0, выводит значение массиваk
с индексомt
. - Возвращает 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д