Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Случайное четырехбайтное число https://www.cyberforum.ru/ c-beginners/ thread1799737.html
Добрый день. Написал функцию, которая должна возвращать ключ - массив из 255 беззнаковых целых чисел. Компилятор 32-битный, sizeof(unsigned) == 4, rand() возвращает тоже четырехбайтное число. Но проблема в том, что при записи чисел в файл в шестнадцатеричном формате видно, что третий и четвертый байт — нулевые. Почему так получается? Вот сама функция: unsigned *keygen() { unsigned *key =...
C (СИ) Почему не решают коллизии в хеш-таблице путем создания еще одного массива большей мерности?
Например, есть хеш-таблица, элементами которой есть массивы строк, например, имена людей. Как я понял, когда возникают коллизии, например, два человека с именем, начинающимся с одной и той же буквы (в случае хеширования за первой буквой имени по алфавиту), то существует два пути разрешения коллизий - занять следующее свободное место в таблице или сделать элементами таблицы связные списки. Вопрос:...
C (СИ) Понимание кода https://www.cyberforum.ru/ c-beginners/ thread1799695.html
Здравствуйте, столкнулся с задачей в книги Подбельского по массивам и указателям, учусь читать и понимать код, я прочитал его несколько раз так и не понял какая функция отвечает за обратный вывод букв? Подскажите какая это строка, и есть ли более простой код этой же программы? С пониманием указателей у меня затруднение поэтому не кидайте тапком. #include <stdio.h> int main () { ...
C (СИ) Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления Помогите пожалуйста! Дан список,содержащий запись целых неотрицательных чисел в двоичной системе счисления. Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления. https://www.cyberforum.ru/ c-beginners/ thread1799358.html
C (СИ) Загрузка любого изображения на компьютере в приложение
Подскажите как сделать в Windows UWO, чтобы по нажатию кнопки открывался файлообменник и предлагал выбрать, а после оно отображалось в неком ListView.
C (СИ) Почему нельзя получить доступ к элементам массива в прокомментированой строке? https://www.cyberforum.ru/ c-beginners/ thread1799081.html
int main(int argc, char* argv) { FILE* inptr = fopen ("card.raw", "r"); if (inptr == NULL) { printf("Could not open file"); return 1; }
C (СИ) с math на visual studio 2003 Здравствуйте!Я программирую под слабенький микроконтроллер в Visual Studio 2003, файлы имеют расширение c, а не cpp. Для меньшей его нагрузки используются переменные типа float, а не double. Вот нерабочий кусок кода: float a, b = 0.0; a = sinf(b). Компилятор не видит функции библиотеки math под тип данных float. Помогите решить эту проблему, пожалуйста. https://www.cyberforum.ru/ c-beginners/ thread1798932.html C (СИ) Выделение памяти при обычном объявлении
Пусть имеется некий код int main(){ int a, b, c, d, e, f , g , e; int f = 15; int z = 51; double doub = 23.1; int *ar = malloc(600);
C (СИ) Минимальное значение для float не соответствует константе из float.h В K&R в самом начале второй главы есть упражнение 2.1, которое звучит следующим образом: Напишите программу, которая будет выдавать диапазоны значений типов char, short, int и long, описанных как signed и как unsigned, с помощью печати соответствующих значений из стандартных заголовочных файлов и путем прямого вычисления. Определите диапазоны чисел с плавающей точкой различных типов. Вычислить... https://www.cyberforum.ru/ c-beginners/ thread1798656.html C (СИ) Ошибка С3861 gets: идентификатор не найден https://www.cyberforum.ru/ c-beginners/ thread1798529.html
Не пойму в чем дело. Компилятор ругается на gets. int main(int argc, char* argv) { setlocale(LC_ALL, "Russian"); FILE *f; char str; f = fopen("text.txt", "w"); if (f == NULL) { printf("Error!");
Программа из учебника не собирается C (СИ)
Доброго времени суток всем! Я прохожу один урок из учебника. В нём приведена данная программа: #include <stdio.h> #include <stdlib.h> #define MAXLINE 1000 int getline(char line, int MAXLINE);
C (СИ) Различие char от целочисленных типов данных https://www.cyberforum.ru/ c-beginners/ thread1797735.html
К концу первой главы книжки K&R сложилось мнение, что char от int и других целочисленных типов различается только размером, что его можно рассматривать, как любой другой целочисленный тип, но с меньшим диапазоном. Так-то так, но оказывается все различие char кроется в контексте - все функции для работы со строками ориентированы только на тип char и не предназначены для работы с другими...
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
29.08.2016, 13:29 0

Как правильно написать функцию - C (СИ) - Ответ 9495744

29.08.2016, 13:29. Показов 952. Ответов 10
Метки (Все метки)

Ответ

Alexandrit84, а у вас есть отладчик в среде, чтобы видеть значения переменных по ходу дела? или может есть панель какая-нибудь куда можно отобразить
имхо у вас с float может быть проблема, либо с разными единицами измерения
Цитата Сообщение от Alexandrit84 Посмотреть сообщение
Что Вы имеете ввиду под инициализацией?
C
1
2
float x = 1000000.0;// почему у вас x объявлена как int? m тоже как float объявляйте
// или наоборот приводите все к int - x = (int)D;
дробную часть будете терять. можно умножить на 10^n предварительно, чтобы точность сохранить до нужных разрядов. лучше все к int приводить, но аккуратно
почему я говорю про инициализацию. у вас во втором условии
Цитата Сообщение от Alexandrit84 Посмотреть сообщение
C
1
if (D<=x-m) { PORTB &= ~ (1 << PB0);
}
а значение x присваивается только если A>83 в первом условии. а если A меньше 83, то программа начинает
проверять второе условие (D<=x-m) и чему здесь тогда равен x? NULL
может сразу float x = D;
только float не совсем правильно сравнивать >= лучше, как я уже говорил, привести все значения к int
C
1
2
3
int x = (int) (D*100.0);// если 2 знака после запятой значащие
if ( (int)(A*100.) > 8300) {START();};
if ( (int)(D*100.) >= (x - m) ) {STOP();};// m адаптируйте под нужный масштаб


Вернуться к обсуждению:
Как правильно написать функцию C (СИ)
1
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2016, 13:29
Готовые ответы и решения:

Решение системы уравнений: написать функцию, которая как параметр будет использовать другую функцию
Ребята помогите разобраться с указателем на функцию! у меня решается система ДУ методом...

Как правильно вызвать функцию?
как вызвать функцию? int sum_last(list_ptr a) { list_ptr ptr; assert(NULL != a);...

Как правильно вызвать функцию?
Вопрос как правильно сделать вызов из mainLoop функцию comlastLogin через sortlastLogin. Если...

Как правильно завершать булевую функцию?
bool search(int value, int values, int n) { if (....) return true; else if (....) ......

10
29.08.2016, 13:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2016, 13:29
Помогаю со студенческими работами здесь

Как правильно передать массив в функцию?
В этой задаче я ввожу двухмерный массив с 6 чисел, передаю его в функцию, потом получаю новый масив...

Как правильно передавать двумерный массив в функцию
Компилятор Borland Builder C++ 6 Получил ошибку в основной программе, создал идентичную тестовую,...

Как правильно создать функцию используя макрос
Привет. Как правильно сделать функцию вида float function(float i){ return (i);} через макрос?

Как правильно передать два массива в функцию
Всем привет. Как правильно передать в функцию два массива? Один динамический, а второй...

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