Вопрос № 158420: помогите написать функцию,которая принимает дробное значение,а возвращает целое,равное округленному дробному(на Си)...
Вопрос № 158446: Помогите решить задачу плиззз!!!!! сказали написать с помощью масивов!!!! вот цик который считает for(int i=0;(i<h)&&(A[i]'='10');i++) пользователь вводит строку, программа выводит на экран все символы которые есть в строке и...
Отправлен: 22.01.2009, 12:12
Вопрос задала: Freya (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Freya! Стандартное приведение вещественного к целому i=(int) f отбрасывает дробную часть (округляет к 0), а не к ближайшему. Поэтому можно, например, создать вот такую функцию:
Код:
int ftoi(double f) { return(f+0.5); }
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Профессионал) Украина, Кировоград ICQ: 234137952 ---- Ответ отправлен: 22.01.2009, 12:47
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 241810 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Ilkras
Здравствуйте, Freya! В предыдущем ответе вы получили округление к близжайшему значению. Может быть просто: int func (float x) { return ((int)x);} будет достаточно. Может быть вам надо вернуть величину типа float, тогда: float func(float x){return((float)(int)x);} "округленное дробное" можно понять и так и эдак. Можете уточнить на форуме. Удачи.
Ответ отправил: Ilkras (статус: Студент)
Ответ отправлен: 22.01.2009, 13:12
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 241813 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 158.446
Помогите решить задачу плиззз!!!!! сказали написать с помощью масивов!!!! вот цик который считает for(int i=0;(i<h)&&(A[i]'='10');i++) пользователь вводит строку, программа выводит на экран все символы которые есть в строке и сколько раз они повторяются
Отвечает: Елисеев Андрей Александрович
Здравствуйте, Понаморенко Андрей Андреевич! Немного не понял зачем вы написали цикл. Вот мое решение вашей задачи
#include <conio.h> #include <stdio.h>
//структура в которой два поля. symbol хранит символ, count хранит количество его вхождения struct rec { char symbol; int count;
};
int main(int argc, char* argv[]) { char s; //переменная содержит текущий набранный символ rec mass[256]; // массив вышеописанных структур для
всех возможных символов (их 256) for(int i=0;i<256;i++) { //циклом инициализируем элементы массива mass[i].symbol=(char)i; //поле symbol всех элементов массива, т.е. присваиваем им все возможные значения от кода 0 до 255 mass[i].count = 0; //счетчик вхождений для каждого символа ставим в ноль } while(1) { //запускаем бесконечный цикл в нем будем считать вхождение каждого символа s = getche(); //получим символ с кла
виатуры if(s == 13) break; //если нажат Enter то выйдем из цикла mass[(int)s].count++; //увеличим счетчик вхождений для символа с соответствующим кодом на единицу }
for(int i = 0; i < 256; i++) { // выведем статистику if(mass[i].count) //только для тех символов у которых счетчик отличен от нуля printf("Symbol: '%c' Count: %d
", mass[i].symbol, mass[i].count); //собственно вывод
#thank 241841 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: МЕГАСПАСИБИЩЕ!!!!
Отвечает: Micren
Здравствуйте, Понаморенко Андрей Андреевич! Не ясно при чем тут цикл Вами написанный. Вот программа на C++. Программа тестировалась на MS Visual Studio 2008.
Приложение:
Ответ отправил: Micren (статус: Студент)
Ответ отправлен: 22.01.2009, 20:03
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 241867 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: ОГРОМНОЕ СПАСИБО!!!!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.