(lista_na_formalni_argumenti) {
tip ime
telo_na_funkcijata}
main()
функција(lista_na_argumenti); ime
Да се напише програма во која со посебна функција се пресметува куб
n
3
за вчитан природен број
n
.
#include <iostream>
using namespace std;
double kub(int x) {
return x * x * x;
}
int main() {
int n;
<< "Vnesete eden priroden broj: ";
cout >> n;
cin double rezultat = kub(n);
<< "Kubot na brojot " << n << " e " << rezultat << endl;
cout return 0;
}
cmath
Во C++ постои стандардна математичка библиотека
cmath
која што содржи многу готови математички
функции.
За да се употребува, треба претходно да се вклучи со:
#include <cmath>
Сите функции од стандардната библиотека cmath
примаат аргументи од тип double
и враќаат вредности од
истиот тип.
Функција | Објаснување |
---|---|
sqrt(x) | квадратен корен од x |
exp(x) | експоненцијална функција ех |
log(x) | природен логаритам од х (со основа е) |
log10(x) | логаритам од х со основа 10 |
fabs(x) | апсолутна вредност од х |
ceil(x) | заокружува х на најмалиот цел број не помал од х |
floor(x) | заокружува х на најголемиот цел број не поголем од х |
pow(x, y) | x на степен y |
fmod(x, y) | остаток од х/у како реален број |
sin(x) | синус од х (во радијани) |
cos(x) | косинус од х (во радијани) |
tan(x) | тангенс од х (во радијани) |
cmath
Да се напише програма во која со посебна функција се пресметува куб
n
3
за вчитан природен број
n
.
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
<< "Vnesete eden priroden broj: ";
cout >> n;
cin double rezultat = pow(n, 3);
<< "Kubot na brojot " << n << " e " << rezultat << endl;
cout return 0;
}
Да се напишат соодветни функции за пресметување на дијаметар, периметар и плоштина на круг чиј што радиус се предава како аргумент. Потоа да се напише и програма во која за внесен (од тастатура) радиус ќе се повикаат овие функции за да се пресметаат дијаметарот, периметарот и плоштината на соодветниот круг.
#include <iostream>
#include <iomanip>
#define PI 3.14
using namespace std;
double dijametar(double radius);
double perimetar(double radius);
double ploshtina(double radius);
int main() {
double radius, D, L, P;
<< "Vnesete radius na krugot: ";
cout >> radius;
cin
= dijametar(radius);
D = perimetar(radius);
L = ploshtina(radius);
P
<< "Dijametar na krugot = " << fixed << setprecision(2) << D << endl;
cout << "Perimetar na krugot = " << fixed << setprecision(2) << L << endl;
cout << "Ploshtina na krugot = " << fixed << setprecision(2) << P << endl;
cout return 0;
}
double dijametar(double radius) {
return 2 * radius;
}
double perimetar(double radius) {
return 2 * radius * PI;
}
double ploshtina(double radius) {
return radius * radius * PI;
}
НАПОМЕНА: setprecision
претставува
функција од библиотеката #include <iomanip>
и притоа
овозможува дефинирање на прецизноста на излезот со подвижна запирка.
Да се напише програма која што ќе ги отпечати сите четирицифрени природни броеви кои се деливи со збирот на двата броја составени од првите две цифри и од последните две цифри на четирицифрениот број. На крајот треба да отпечати и колку вакви броеви се пронајдени.
Пример:
3417 е делив со 34 + 17
5265 е делив со 52 + 65
6578 е делив со 65 + 78
#include <iostream>
using namespace std;
int zbir_po_2cifri(int n) {
return n % 100 + n / 100;
}
int main() {
int i;
int count = 0;
for (i = 1000; i <= 9999; ++i) {
if (i % zbir_po_2cifri(i) == 0) {
<< i << endl;
cout ++count;
}
}
<< "Vkupno: " << count << endl;
cout return 0;
}
Да се напише програма која за даден природен број ја пресметува разликата помеѓу најблискиот поголем од него прост број и самиот тој број.
Пример: Ако се внесе 573
, програмата
треба да испечати 577 – 573 = 4
#include <iostream>
using namespace std;
int prost(int n) {
int i;
for (i = 2; i * i <= n; ++i) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int prv_pogolem_prost(int n) {
++n;
while (!prost(n)) {
++n;
}
return n;
}
int main() {
int n;
>> n;
cin int pogolem_prost = prv_pogolem_prost(n);
<< pogolem_prost << " - " << n << " = " << pogolem_prost - n << endl;
cout return 0;
}
Да се напише програма што ќе ги отпечати сите прости броеви помали од 10000 чиј што збир на цифри е исто така прост број. На крајот да се отпечати колку вакви броеви се пронајдени.
#include <iostream>
using namespace std;
int is_prime(int n) {
if (n < 4) return 1;
else {
if (n % 2 == 0) return 0;
else {
for (int i = 3; i * i <= n; i += 2) {
if (n % i == 0) {
return 0;
}
}
}
}
return 1;
}
int sum_digits(int n) {
int sum = 0;
while (n != 0) {
+= n % 10;
sum /= 10;
n }
return sum;
}
int main() {
int count = 0;
for (int i = 2; i <= 9999; ++i) {
if (is_prime(i) && is_prime(sum_digits(i))) {
<< i << "\t";
cout ++count;
}
}
<< "\nVkupno: " << count << endl;
cout return 0;
}
Да се напише програма што ќе ги отпечати сите парови прости броеви помали од 1000 што се разликуваат меѓу себе за 2. На крај да се отпечати и нивниот број.
#include <iostream>
using namespace std;
int prost(int n) {
for (int i = 2; i * i <= n; ++i) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int count = 0;
for (int i = 1; i < 998; ++i) {
if (prost(i) && prost(i + 2)) {
<< i << " " << i + 2 << endl;
cout ++count;
}
}
<< "Vkupno: " << count << endl;
cout return 0;
}
Да се пресмета збирот:
1! + (1 + 2)! + (1 + 2 + 3)! + … + (1 + 2 + … + n)!
НАПОМЕНА: Користете функција за пресметување на збирот на првите k природни броеви Користете функција за пресметување факториел на еден природен број k.
#include <iostream>
using namespace std;
int suma(int n) {
int s = 0;
for (int i = 1; i <= n; ++i) {
+= i;
s }
return s;
}
int faktoriel(int n) {
int result = 1;
for (int i = 1; i <= n; ++i) {
*= i;
result }
return result;
}
int main() {
int n;
>> n;
cin
if (n > 0) {
int result = 0;
int s;
for (int i = 1; i < n; ++i) {
= suma(i);
s += faktoriel(s);
result << s << "! + ";
cout }
= suma(n);
s += faktoriel(s);
result << s << "! = " << result << endl;
cout } else {
<< "Nevalidna vrednost" << endl;
cout }
return 0;
}