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

Как правильно заменить cout, чтобы получилась программа на чистом Си

11.02.2009, 13:10. Показов 2117. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно переписать этот код, чтобы числое Си получилось, помогите, пожалуйста, куча ошибок вылазит..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 секунд
сейчас сделала так, но по-моему что-то не то...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2009, 13:10
Ответы с готовыми решениями:

Посмотрите, что выводит следующая программа, и исправьте ее так, чтобы получилась пятиконечная звезда
Посмотрите, что выводит следующая программа, и исправьте ее так, чтобы получилась пятиконечная...

Как правильно скомпилировать чтобы программа работала на компьютерах, на которых не установлен билдер(чтобы работала база данных)
Сделана база данных на BDE при сохранении скомпилировал &quot;Relese&quot;, на другом пк где не установлен...

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит...

Запуталась с процедурой. Как сделать чтобы программа правильно работала? Заранее благодарю!
В двумерном массиве хранится информация о зарплате 18 человек за каждый месяц года (в первом...

6
48 / 48 / 8
Регистрация: 30.01.2009
Сообщений: 168
11.02.2009, 14:16 2
Вместо printf("-"); напиши printf("%s", "-");

И еще в начале программы потребуется написать

Код
#include <stdio.h>
0
0 / 0 / 1
Регистрация: 27.03.2008
Сообщений: 75
11.02.2009, 14:19  [ТС] 3
а остальное все ок?
0
Эксперт С++
2255 / 770 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
11.02.2009, 15:29 4
Цитата Сообщение от Шерсть-На-Носу Посмотреть сообщение
Вместо printf("-"); напиши printf("%s", "-");
Интересно,какая разница....
0
48 / 48 / 8
Регистрация: 30.01.2009
Сообщений: 168
11.02.2009, 16:10 5
Интересно,какая разница....
Хммм... И правда никакой... В данном конкретном случае. Разница будет, если в printf передавать указатель на строку. Могут возникнуть проблемы при неудачном сочетании символов в строке. Впрочем, к данному вопросу это не имеет никакого отношения
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
12.02.2009, 08:11 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
}
putchar и printf объявлены в stdio.h
0
48 / 48 / 8
Регистрация: 30.01.2009
Сообщений: 168
12.02.2009, 09:04 7
Правильнее было бы спросить так: каким способом можно определить, что программа использует "чистый С"? Для MS Visual Studio правильным ответом будет "ключ компилляции /TC".

Остается, правда, вопрос, а что такое "чистый С"...
0
12.02.2009, 09:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2009, 09:04
Помогаю со студенческими работами здесь

Я должна создать часы, сейчас у меня получилась только рисунок, не знаю как сделать чтобы они работали!Можете помочь?!
Imports System.Math Imports System.Drawing.Graphics Public Class Form1 Private...

Написать программу, чтобы получилась картинка
Помогите написать программу чтобы получилась картинка. Повторяющиеся элементы пишем отдельной...

Расставить коэффициенты так, чтобы получилась итоговая сумма
Дано: Таблица типа: Количество|Коэффициент|Сумма 5_________|___________|______ ...

Произведения 12 столбцов сложить, чтобы получилась заданная сумма
Добрый день! Помогите решить задачку в паскале Дано 936* на число(взять цифру от 2 - до 5 любую...


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

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

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