0 / 0 / 0
Регистрация: 02.01.2018
Сообщений: 33
|
|||||||||||
1 | |||||||||||
Перевод из Pascal в СИ04.07.2018, 17:21. Показов 2628. Ответов 9
Метки нет (Все метки)
Прошу помочь в переводе программы из Pascal в СИ:
Добавлено через 2 минуты Пытался сделать что то подобное
0
|
04.07.2018, 17:21 | |
Ответы с готовыми решениями:
9
Перевод программы с Turbo Pascal на Pascal ABC.NET Перевод программы с turbo pascal на Pascal ABC Перевод из Pascal в C++ Перевод из Pascal в C# |
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
|||||||||||
04.07.2018, 18:18 | 2 | ||||||||||
Сообщение было отмечено Unkown47 как решение
Решение
во-первых, я бы избавился от глобальных переменных и в функцию F передавал бы те переменные, которые используются внутри нее
1
|
0 / 0 / 0
Регистрация: 02.01.2018
Сообщений: 33
|
|
04.07.2018, 19:27 [ТС] | 3 |
Благодарю за ответ, но не могли бы вы расписать используемые библиотеки и каким компилятором пользовались?
0
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
||||||
05.07.2018, 07:34 | 4 | |||||
Библиотеки стандартные и компилятором можно пользоваться любым, но требуется включить заголовочные файлы
1
|
0 / 0 / 0
Регистрация: 02.01.2018
Сообщений: 33
|
|
05.07.2018, 15:25 [ТС] | 5 |
Ну для того чтобы компилятор си читал bInput нужно прописать библиотеку #include <stdbool.h>, правда программа не работает и цыклица после ввода первых трёх переменных. Пробовал менять типы с double на int(тщетно ) и так и не понял почему после каждого условия ставится false, если при вводе удовл. условию значений должно быть true, возможна ли тут ошибка?
0
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
|
05.07.2018, 19:16 | 6 |
Выложи пожалуйстта свой код
0
|
0 / 0 / 0
Регистрация: 02.01.2018
Сообщений: 33
|
||||||
05.07.2018, 19:22 [ТС] | 7 | |||||
0
|
0 / 0 / 0
Регистрация: 02.01.2018
Сообщений: 33
|
|
05.07.2018, 19:36 [ТС] | 8 |
если ввести например там 0.2 0.5 и 0.2, то вот, так же пробовал вводить в компилятор Pelles выдаёт вот такие ошибки: (скрин2)
0
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
||||||
05.07.2018, 20:07 | 9 | |||||
Сообщение было отмечено Unkown47 как решение
Решение
все верно. только замените везде %f на %lf, так как вводим числа типа double, то есть везде будет вместо scanf("%f %f %f", &r, &c, &d) scanf("%lf %lf %lf", &r, &c, &d)
Еще последнее условие при вводе точности неверное: заменить на if ((bInput = (e < 1.0) && (e > 0.0)) == false) И скорее всего вводите данные неправильно. Есть разница между функцией printf и scanf printf выводит в формате 1.2 используя scanf при вводе действительных чисел надо использовать не точку, а запятую, то есть число должно представляться в виде 1,2 Добавлено через 7 минут scanf не проверяет ввод. Для контроля ввода используй код:
1
|
0 / 0 / 0
Регистрация: 02.01.2018
Сообщений: 33
|
|
05.07.2018, 20:32 [ТС] | 10 |
Да теперь работает, даже интеграл правильно считает), благодарю за выделенное мне время
0
|
05.07.2018, 20:32 | |
05.07.2018, 20:32 | |
Помогаю со студенческими работами здесь
10
перевод с Pascal на C++ Перевод из Pascal в C# Перевод из Pascal в С++ Перевод из pascal в С Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |