Код | #include <iostream> using namespace std; /*Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью. */ float vichislenie (float ch, int vish) { int sum = 0, sum_1 = 0; float drob, drob_1, itog; for (int i=ch; i>1; i--) sum++; drob=ch-sum; (int)ch; for (int i = 1; i < vish; i++) sum_1++; drob_1 = drob * sum_1; (int)drob_1; itog = (float)drob_1/sum_1; return itog+ch; } void main() { float chislo; int tochnost; cout<<"Vvedite chislo dlya okrugleniya \n"; cin>>chislo; cout<<"\nZadayte kol-vo znakov kotorie dolgni ostatsya "; cin>>tochnost; cout<<"\n\n"<<vichislenie(chislo, tochnost)<<"\n\n"; }
|
беру число 12.1212, провожу округление до двух знаков, но получается 13.2424. Почему, не понимаю)
Код | #include <iostream> #include <time.h> #include <stdlib.h> /*Написать шаблон функции для поиска среднего арифметического значений массива.*/ long Sred_arif (int n, int chisla[]) { double rezultat=0; for (int i=0; i<n; i++) { chisla[i]<n ? rezultat+=chisla[i] : false; } return rezultat/n; }
/*тело программы для проверки*/ using namespace std; void main() { int massiv[15]; srand(time(NULL)); for (int i=0; i<15; i++) massiv[i] = rand()%10; for (int i=0; i<15; i++) cout<<massiv[i]<<", "; cout<<"\n\nSrednee arifmeticheskoe massiva : "<<Sred_arif(15, massiv)<<"\n"; }
|
как ни странно, но работает корректно 
Код | #include <iostream> #include <math.h> using namespace std; /*Написать перегруженные шаблоны функций для нахождения корней линейного (a*x + b = 0) и квадратного (a*x2+b*x + c = 0) уравнений. Замечание: в функции передаются коэффициенты уравнений. */ float vichislenie (int a, int b, int c) { float x_1, x_2; int temp; double d; d=(b*2-4*a*c); a!=0 ? x_1=(-b+sqrt((double)d))/(2*a) : false; a!=0 ? x_2=(-b-sqrt((double)d))/(2*a) : false; d>=0 ? temp = 1 : false; d>0 ? temp = 2 : false; cout<<"uravnenie a*x2+b*x+c=0 imeet "; temp == 2 ? cout<<"2 kornya"<<x_1<<"\t"<<x_2<<"\n\n" : cout<<"1 koren"<<x_1<<"\n\n"; return 0; }
void main() { int a, b, c; cout<<"vvedite a, b, c\n"; cin>>a; cin>>b; cin>>c; cout<<"\n\n"; cout<<"korni uravneniya (a*x2+b*x + c = 0) : "<<vichislenie (a, b, c); }
|
попробовал через скрт, но всё равно ошибка :(
|