С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Задание функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Визуализация расчетов http://www.cyberforum.ru/cpp-beginners/thread681264.html
Имеется рабочая программа на Си. В результате её работы получается текстовый файл, содержащий три координаты каждой точки XYZ. Данных много и они записаны в столбик: 1500 2300 50 1500 2350 52 ...
C++ Структура выводит мусор здравствуйте. Почему данный код выводит мусор? Я неправильно присваиваю? void poisk_cena(){ if (est){ dvd *p1 = new dvd; int rub; cout<<"Задайте цену: "; cin>>rub; //******* dvd *p2 = new... http://www.cyberforum.ru/cpp-beginners/thread681257.html
Найти площадь прямоугольника C++
пожалуйста помогите разобратся в Рекурсии. не могу понять етот код: #include<iostream> #include<conio.h> using namespace std; int S(int n,int m){ if(n==m==1) return 1; if(n>1)
C++ Определить ближайшее нечетное число меньше заданного числа N, которое делится на 15 с остатком 6
Определить ближайшее нечетное число меньше заданного числа N, которое делится на 15 с остатком 6
C++ В коде вызов двух функций, фактически вызывается всего одна http://www.cyberforum.ru/cpp-beginners/thread681242.html
Скажите, почему если в функции я пишу void risAll(int a){ risVerh(a); risNiz(a); } он выполняет только risVerh?
C++ "Определить ближайшее нечетное число" (Borland C) Определить ближайшее нечетное число меньше заданного числа N, которое делится на 15 с остатком 6 подробнее

Показать сообщение отдельно
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,259
27.10.2012, 00:42
Цитата Сообщение от John Prick Посмотреть сообщение
протабулируй свою функцию. Она у тебя работает неправильно.
согласен насчет параболы погорячился но третья степень подходит
((x-2)*(x-2)*(x-2))/4;
что тоже самое что (a^3)*2
где a=(x-2)/2

поехали шаг 0.5
работает первая ветка
if(x>=0 && x<2)
return 2-x;
0=2
0.5=1.5
1=1
1.5=0.5
пошла работать вторая ветка
((x-2)*(x-2)*(x-2))/4;
2=0
2.5=0,03125
3 =0.25
3.5=0.84
4=2(это уже первая ветка x%=4 ==0)
итак полностью условие

C++
1
2
3
4
5
x%=4;
if(x>=0 && x<2)
  return 2-x;
еlse
 return ((x-2)*(x-2)*(x-2))/4;
Добавлено через 6 минут
Цитата Сообщение от John Prick Посмотреть сообщение
Тип double должен быть у аргумента и функции. Операция % к типу double неприменима.
согласен, как то упустил
но можно костыли
например умножить аргумент на 1000
и остаток от деления 4000
а возврат потом разделить на 1000
например так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double func(double X)
{
int x=X*1000;
double Y;
int y
x%=4000;
if(x>=0 && x<2000)
  y=2000-x;
еlse
  y= ((x-2000)*(x-2000)*(x-2000))/4000;
Y=y/1000.0;
return Y;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.