0% found this document useful (0 votes)
41 views

Mecadineoba # 7: Praqtikuli Mecadineobis Temebi: Laboratoriuli Mecadineobis Temebi

1. The document discusses functions for practical and laboratory programming. Practical programming function topics include function parameters, prototypes, and usage. Laboratory programming function topics include element indexing in arrays and vectors, palindromes, and recursive functions. 2. Examples are provided for functions such as absolute value, sign, maximum of two values, minimum of two values, squaring a number, averaging two numbers, random number generation, and exponentiation. 3. Guidelines are given for writing boolean type predicate functions that check properties like divisibility by 3, evenness, and positivity. Function prototypes and usage examples are shown for several of the functions.

Uploaded by

evgeni
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Mecadineoba # 7: Praqtikuli Mecadineobis Temebi: Laboratoriuli Mecadineobis Temebi

1. The document discusses functions for practical and laboratory programming. Practical programming function topics include function parameters, prototypes, and usage. Laboratory programming function topics include element indexing in arrays and vectors, palindromes, and recursive functions. 2. Examples are provided for functions such as absolute value, sign, maximum of two values, minimum of two values, squaring a number, averaging two numbers, random number generation, and exponentiation. 3. Guidelines are given for writing boolean type predicate functions that check properties like divisibility by 3, evenness, and positivity. Function prototypes and usage examples are shown for several of the functions.

Uploaded by

evgeni
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

mecadineoba # 7

praqtikuli mecadineobis Temebi: laboratoriuli mecadineobis Temebi:


 funqciis parametrebi, dasabrunebeli  udidesi elementi ricxvebs Soris
mniSvneloba da veqtorSi
 funqciis prototipi, gansazRvra  palindromi
 funqciis gamoZaxeba  SemTxveviTi namdvili ricxvi
amocanebi: amocanebi:
1. funqcia ariTmetikuli gamosaxulebis 1. or mTels Soris udidesis povnis
gamoTvlisTvis…>>> funqcia >>>
2. funqcia simboloTa Soris laTinuri 2. mocemul mTel SualedSi namdvili
anbanis asos amocnobisTvis…>>> SemTxveviTi ricxvis generireba >>>
3. count algoriTmis gamoyenebis 3. palindromis gamocnobis funqcia >>>
magaliTi >>> 4. veqtoris udidesi elementis indeqsis
4. count_if algoriTmis gamoyenebis gansazRvris funqcia >>>
magaliTi >>> damoukidebeli samuSao >>>
damoukidebeli samuSao >>>

masala damoukideblad gacnobisaTvis:


1. martivi funqciebis da ZiriTad programaSi maTi gamoZaxebis nimuSebi.
miTiTeba: imisaTvis rom vnaxoT Seqmnili funqciis muSaobis Sedegi, moyvanili
fragmentebi unda SevavsoT srul programamde. magaliTad, pirveli
fragmentisTvis unda davweroT:
#include <iostream>
using namespace std;
int my_abs(int );
int main(){
int a, n;
cin >> a;
n = my_abs(a);
cout << n << endl;
system("pause");
return 0;
}
int my_abs(int x){
if(x >= 0) return x;
return -x;
}
}
xolo sxva nimuSebSi SevcvaloT funqciis saTauri (prototipi), main()-is
fragmenti da funqciis gansazRvra Sesabamisad.
funqciis gamoZaxeba -
# funqcia
main()-is fragmenti
int main(){
/*funqcia poulobs mTeli ricxvis moduls*/ int a, n;
int my_abs(int x){ cin >> a;
1 if(x >= 0) return x; n = my_abs(a);
return -x; cout<<n<<endl;
} . . .
}
/* funqcia poulobs namdvili ricxvis moduls */ int main(){
2
float my_fabs(float x){ float y, k;

კ. გელაშვილი, ი. ხუციშვილი 53
if(x < 0) return -x; cin >> y;
return x; k = my_fabs(y);
} cout<<k<<endl;
. . .
}
/* funqcia adgens ricxvis niSans */ int main(){
float n; int s;
int my_sign(float x){ cin >> n;
3 if(x > 0) return 1; s = my_sign(n);
else if(x == 0) return 0; cout<<s<<endl;
return -1; . . .
} }
int main(){
/* funqcia poulobs 2 mTeli ricxvidan udidess */ int m, n, max;
int my_max2(int a, int b){ cin >> m >> n;
4 if(a > b) return a; max = my_max2(m,n);
return b; cout<<max<<endl;
} . . .
}
int main(){
/* funqcia poulobs 2 namdvili ricxvidan umciress float a, b, min;
*/ cin >> a >> b;
5 float my_fmin2(float x, float y){ min = my_fmin2(a,b);
return (x < y) ? x : y; cout<<min<<endl;
} . . .
}
int main(){
/* funqcia poulobs 3 mTeli ricxvidan umciress */ int k, n, m, min;
int my_min3(int a, int b, int c){ cin >> k >> n >> m;
int m = a; min = my_min3(k,n,m);
6 if(b < m) m = b; cout<<min<<endl;
if(c < m) m = c; . . .
return m; }
}

/* funqcia poulobs 3 namdvili ricxvidan udidess */ int main(){


float x, y, z, max;
float my_fmax3(float a,float b,float c){ cin >> x >> y >> z;
float m = a; max = my_fmax3(x,y,z);
7 if(b > m) m = b; cout<<max<<endl;
if(c > m) m = c; . . .
return m; }
}
int main(){
/* funqcia iTvlis mTeli ricxvis kvadrats */ int k;
int square(int a){ cin >> k;
8
return a * a; cout<<square(k)<<endl;
} . . .
}
/* funqcia iTvlis ori mTeli ricxvis int main (){
saSualos */ int a, b; double rez;
double average(int n, int m){ cin >> a >> b;
9 return (n + m)/2.; rez = average(a,b);
} cout<<rez<<endl;
. . .
}
int main(){
/* funqcia poulobs SemTxveviT ricxvs
int b, b, number;
[a,b] Sualedidan */ cin >> b >> b;
11 number = my_rand(b, b);
int my_rand(int a, int b){ cout<<number<<endl;
return rand()%(b + 1 - a) + a; . . .
} }
კ. გელაშვილი, ი. ხუციშვილი 54
/* funqcia iTvlis x ricxvis mTel n xarisxs, int main(){
x  0 , n  0 */ float x, degree;
float my_pow(float x, int n){ int n;
// precondition: n >= 0, x != 0 cin >> x >> n;
float d = 1; int i; degree = my_pow(x, n);
12 if(n == 0) return 1; cout<<degree<<endl;
else{ . . .
for(i = 1; i <= n; i++) }
d *= x;
return d;
}
}

2. martivi bool tipis funqciebi (funqcia-predikatebi) da ZiriTad programaSi maTi


gamoZaxebis magaliTebi
# funqcia funqciis gamoZaxeba
int main(){
/* funqcia adgens aris Tu ara mTeli n ricxvi int number, k;
3 –is jeradi */ cin >> number;
int Multiple_3(int n){ k = Multiple_3(number);
if(n % 3 = = 0) return 1; if(k == 1)
1 return 0; cout<<number<<" aris 3-is"
} " jeradi\n";
else cout<<number<<" ar aris"
" 3-is jeradi\n";
. . .
}
/* funqcia adgens aris Tu ara mTeli a ricxvi int main(){
luwi */ int num;
int IsEven(int n){ cin>>num;
return n % 2 = = 0; if( IsEven(num) )
2 } cout<<num<<" is even\n";
else cout<<num<<" is't"
" even\n";
. . .
}
/* funqcia adgens aris Tu ara namdvili d int main(){
ricxvi uaryofiTi */ float num;
cin >> num;
bool IsNegative(float d){ if( IsNegative(num) )
3 if(d < 0) cout<<num<<" is negative\n";
return true; else cout << num << " is't"
return false; " negative\n";
} . . .
}
/* funqcia adgens aris Tu ara mTeli n ricxvi int main(){
int number;
dadebiTi da 5 –is jeradi */
bool answer;
bool func(int n){ cin >> number;
if(n > 0 && n % 5 = = 0) answer = func(number);
4 return true; if(answer)
return false; puts("Yes");
} else puts("No");
. . .
}
/* funqcia adgens aris Tu ara misi parametri int main(){
simbolo-cifri */ char ch;
5 bool IsDigit(char p){ cin >> ch;
if(p >= '0' && p <= '9') if( IsDigit(ch) )
return true; cout<<ch<<" aris "
return false; "simbolo-cifri\n";
კ. გელაშვილი, ი. ხუციშვილი 55
} else cout << ch <<" ar aris "
"simbolo-cifri\n";
. . .
}
int main(){
/* funqcia adgens aris Tu ara misi parametri char sym;
didi aso */ cin >> sym;
if( IsUpperLetter(sym) )
bool IsUpperLetter(char p){ cout << sym << " aris"
6 return (p >= 'A' && p <= 'Z'); " didi aso\n";
else cout<<sym<<" ar aris"
} " didi aso\n";
. . .
}

saauditorio samuSao:
<<< 1. dawereT funqcia, romelic gamoiTvlis gamosaxulebas 2 x 3  3x 2  5x  10 ,
sadac x mTeli ricxvia. gamoiZaxeT funqcia ZiriTad programaSi klaviaturidan
Semotanili mTeli ricxvisTvis da Sedegi dabeWdeT.
#include <iostream>
using namespace std;
int func(int x); // ფუნქციის პროტოტიპი (ფუნქციაზე განაცხადი)
int main(){
int a, rezult;
cout<<"ShemoitaneT mTeli ricxvi ";
cin>>a;
rezult = func(a); // ფუნქციის გამოძახება
cout<<"Gamosaxuleba = "<<rezult<<endl;
return 0;
}
// ფუნქციის განსაზღვრა
int func(int x){
return 2*x*x*x+3*x*x-5*x-10;
}
programa dabeWdavs:
ShemoitaneT mTeli ricxvi 5
Gamosaxuleba = 290
Press any key to continue . . .

<<< 2. SeqmeniT funqcia prototipiT bool IsLetter(char p), romelic daadgens


aris Tu ara misi p parametri laTinuri anbanis aso. gamoiZaxeT funqcia ZiriTad
programaSi klaviaturidan Semotanili simbolosTvis da Sedegi dabeWdeT.
#include <iostream>
using namespace std;
bool IsLetter(char p);
int main(){
char sym;
cout<<"ShemoitaneT simbolo : ";
cin>>sym;
if( IsLetter(sym) )
cout<<sym<<" aris aso\n";
else cout<<sym<<" ar aris aso\n";
return 0;
}
კ. გელაშვილი, ი. ხუციშვილი 56
bool IsLetter(char p){
return (p >= 'a' && p <= 'z'
|| p >= 'A' && p <= 'Z')
}
programa dabeWdavs:
ShemoitaneT simbolo : R
R aris aso
Press any key to continue . . .

<<< 3. numbers.dat failSi Cawerilia mTeli ricxvebi. daiTvaleT, ramdeni


cxriania failSi.
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int number;
vector<int> N;
ifstream fin("numbers.dat");
while(fin>>number)
N.push_back(number);
int quantity;
quantity = count( N.begin(), N.end(), 9);
cout<<quantity<<endl;
return 0;
}
programis Sesrulebis Sedegia:
numbers.dat faili gamosatani ekrani
1 2 3 4 9 6 7 8 9 10 11 12 13 9 15 3
Press any key to continue . . .
<<< 4. numbers.dat failSi Cawerilia mTeli ricxvebi. daiTvaleT, maTgan ramdenia
kenti.
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
bool isOdd(int x) // ფუნქცია–პრედიკატზე განაცხადი
{ // და მისი განსაზღვრა
return x % 2 != 0;
}
int main(){
int number;
vector<int> N;
ifstream fin("number.dat");
while(fin>>number)
N.push_back(number);
int quantity;
// აქ გამოიყენება ფუნქცია isOdd
quantity = count_if( N.begin(), N.end(), isOdd);

კ. გელაშვილი, ი. ხუციშვილი 57
cout<<quantity<<endl;
return 0;
}
programis Sesrulebis Sedegia:
numbers.dat faili gamosatani ekrani
1 2 3 4 9 6 7 8 9 10 11 12 13 9 15 9
Press any key to continue . . .

<<< damoukidebeli samuSao:


1. dawereT funqcia, romelic gamoiTvlis gamosaxulebas:
a) x 3  4 x 2  5x  7 ;
b) 0.5x 2  2.5x  12 .
x mTeli ri.cxvia. gamoiZaxeT funqcia ZiriTad programaSi klaviaturidan
Semotanili mTeli ricxvisTvis da Sedegi dabeWdeT.
 2 x  34, Tu x  10,
2. mocemulia piroba f ( x)  
 x  x  1, winaaRmdeg SemTxvevaSi.
2

dawereT funqcia, romelic gamoiTvlis f (x) -is mniSvnelobas mTeli x


ricxvisTvis. gamoiZaxeT funqcia ZiriTad programaSi klaviaturidan Semotanili
mTeli ricxvisTvis da Sedegi dabeWdeT.
gaarCieT am amocanis Sesabamisi programa:
#include <iostream>
using namespace std;
int function(int x);
int main(){
int a, rezult;
cout<<"ShemoitaneT mTeli ricxvi ";
cin>>a;
rezult = function(a);
cout << "Gamosaxuleba = " << rezult << '\n';
//system("PAUSE");
return 0;
}
int function(int x){
if(x >= 10) return 2*x+34;
return x*x-x-1;
}
programis Sesrulebis Sedegia:
ShemoitaneT mTeli ricxvi 7
Gamosaxuleba = 41
Press any key to continue . . .
davaleba:
a) SeasruleT programa kompiuterze sxvadasxva mTeli a ricxvisTvis;
b) axseniT function funqciis algoriTmi.

3. mocemulia piroba:
 5 x 3  12, Tu x  3,
a) f ( x)   ;
 x  2 x  4, winaaRmdeg SemTxvevaSi.
2

კ. გელაშვილი, ი. ხუციშვილი 58
 0.2 x  3.45, Tu x  10,
b) f ( x)   2 ;
 x  x  1, winaaRmdeg SemTxvevaSi.
 7 x 2  3, Tu x  1,

g) f ( x)   x  25, Tu x  0, ;
 x  6 x  8, Tu x  1.
3

 11.4 x  0.3, Tu x  5,

d) f ( x)   x  2.5 x  9, Tu x  5,
2
.
 x 3  8, Tu x  5.

dawereT funqcia, romelic gamoiTvlis f (x) -is mniSvnelobas mTeli x
ricxvisTvis. gamoiZaxeT funqcia ZiriTad programaSi klaviaturidan Semotanili
mTeli ricxvisTvis da Sedegi dabeWdeT.
4. mocemulia piroba:
 100.5 x 3  50, Tu x  20.5,
a) f ( x)   ;
 20 x  45.5, winaaRmdeg SemTxvevaSi.
 15 x 2  30 x  20, Tu x  10.5,

b) f ( x)   x 3  40 x  50, Tu x  10.5, .
 x  25.5, Tu x  10.5.

dawereT funqcia, romelic gamoiTvlis f (x) -is mniSvnelobas namdvili x
ricxvisTvis. gamoiZaxeT funqcia ZiriTad programaSi klaviaturidan Semotanili
namdvili ricxvisTvis da Sedegi dabeWdeT.
5. dawereT funqcia, romelic daadgens:
a) aris Tu ara mTeli n ricxvi uaryofiTi. n funqciis parametria;
b) aris Tu ara mTeli k ricxvi 5 –is an 7 –is jeradi. k funqciis parametria;
g) aris Tu ara namdvili m ricxvi 10 –ze naklebi. m funqciis parametria;
d) bolovdeba Tu ara mTeli a ricxvi 3 –iT an 9 -iT. a funqciis parametria;
e) warmoadgens Tu ara misi parametri - simbolo b - patara asos;
v) aris Tu ara mTeli m ricxvi samniSna. m funqciis parametria.
6. dawereT funqcia, romelic ipovis:
a) m –dan n –mde CaTvliT kenti ricxvebis saSualo ariTmetikuls. m da n
funqciis parametrebia;
b) c –dan d –mde CaTvliT luwi ricxvebis raodenobas. c da d funqciis
parametrebia;
g) a –dan b –mde CaTvliT 7 –is jeradi ricxvebis jams. a da b funqciis
parametrebia;
d) k –dan m –mde CaTvliT 3 –is jeradi ricxvebis saSualo ariTmetikuls. k da
m funqciis parametrebia.
7. SeqmeniT funqcia, romelic:
a) gamoiTvlis sami mTeli ricxvis saSualo ariTmetikuls. gamoiyeneT funqcia
ZiriTad programaSi da dabeWdeT miRebuli Sedegi;
b) daabrunebs mTeli ricxvis kubs. es ricxvi funqciis parametrs warmoadgens.
gamoiyeneT funqcia main-Si da dabeWdeT 1-dan 100-mde ricxvTa kubebi;

კ. გელაშვილი, ი. ხუციშვილი 59
g) gamoiTvlis marTkuTxedis farTobs (marTkuTxedis sigrZe da sigane – funqciis
parametrebia). gamoiyeneT funqcia ZiriTad programaSi da SeadareT 2
marTkuTxedis farTobi;
d) daabrunebs 2 mTel ricxvs Soris umciress. ricxvebi funqciis parametrebs
warmoadgenen. gamoiyeneT funqcia ZiriTad programaSi da ipoveT 4 mTel
ricxvs Soris umciresi;
e) gamoiTvlis samkuTxedis farTobs 3 gverdis mixedviT. gamoiyeneT funqcia
ZiriTad programaSi da SeadareT 2 samkuTxedis farTobi;
v) daabrunebs 1-s, Tu misi parametri–simbolo aris xmovani aso, winaaRmdeg
SemTxvevaSi daabrunebs 0-s. ZiriTad programaSi gamoiZaxeT funqcia sxvadasxva
simboloebisaTvis;
z) parametrad miiRebs simbolos, da Tu es simbolo-cifria – daabrunebs mis
kods, winaaRmdeg SemTxvevaSi ki daabrunebs –1-s. gamoiyeneT funqcia failSi
Cawerili simboloebis mimdevrobisaTvis.
8. gaarCieT programa, romelic xsnis Semdeg amocanas:
umciresi mTeli ricxvi, romelic metia log 2 N -ze, warmoadgens bitebis
raodenobas mTeli N ricxvis orobiT CanawerSi. dawereT funqcia, romelic
gamoiTvlis log 2 N -ze met umcires mTel ricxvs. gamoiyeneT funqcia mTeli N
ricxvis orobiT warmodgenaSi bitebis raodenobis gansazRvrisTvis.
#include <iostream>
using namespace std;
int my_log2(int N);
int main(){
int N, degree;
cin >> N;
degree = my_log2(N);
cout << degree << endl;
system("PAUSE");
return 0;
}
int my_log2(int N){
int d;
if(N < 0) N = -N;
for(d =0; N > 0; d++, N /= 2);
return d;
}
programis Sesrulebis Sedegia:
9
4
Press any key to continue . . .
davaleba:
a) SeasruleT programa kompiuterze sxvadasxva mTeli N ricxvisTvis;
b) axseniT my_log2 funqciis algoriTmi.
9. dawereT funqcia, romelic iTvlis:
1 1 1 1 1 1
a) 1    jams; b) 1      jams, sadac kenti n ricxvi
2 3 20 3 5 n
funqciis parametria.
 or cvlads Soris udidesis dadgenis funqcia
 funqciis Seqmna, romelic daadgens, warmoadgens Tu ara striqoni palindroms

კ. გელაშვილი, ი. ხუციშვილი 60
laboratoriuli samuSao:
<<< amocana 1: SeqmeniT funqcia, romelic ipovis 2 mTeli ricxvidan udidess. es
ricxvebi funqciis parametrebia. gamoiyeneT funqcia main-Si klaviaturidan
Semotanili 2 mTeli ricxvisTvis da dabeWdeT maT Soris udidesi.
programis saxe Semdegia:
///////////////////////////////////////////
// პროგრამა: 2 მთელ რიცხვს შორის უდიდესის
// პოვნა
///////////////////////////////////////////
#include <iostream>
using namespace std;
int max2Int(int , int );
int main(){
int a, b;
cout << "SemoitaneT 2 mTeli ricxvi : ";
cin >> a >> b;
int max = max2Int(a, b);
cout << "udidesia " << max << endl;
//system("PAUSE");
return 0;
}
int max2Int(int x, int y){
return x > y ? x : y;
}
davalebebi:
1. SeasruleT programa sxvadasxva a da b ricxvebisTvis.
2. gaarCieT Tu ras akeTebs Semdegi programa:
///////////////////////////////////////
// პროგრამა: 2 სტრიქონს შორის უდიდესის
// პოვნა
///////////////////////////////////////
#include <iostream>
#include <string>
using namespace std;
string max2String(string , string );
int main(){
string a, b;
cout << "SemoitaneT 2 striqoni : ";
cin >> a >> b;
string max = max2String(a, b);
cout << "udidesia " << max << endl;
system("PAUSE");
return 0;
}
string max2String(string x, string y){
return x > y ? x : y;
}

<<< amocana 2: SeqmeniT funqcia, romelic klaviaturidan Seyvanili ori namdvili


ricxvisTvis daabrunebs am ricxvebs Soris moTavsebul erT-erT SemTxveviT ricxvs.
programas aqvs Semdegi saxe:
#include <iostream>
#include <cmath>
using namespace std;
double realRand(double , double );

კ. გელაშვილი, ი. ხუციშვილი 61
int main(){
cout << "ra shualedidan gindaT SemTxveviTi ricxvebis generireba?" << endl
<< "shemoitanet ori namdvili ricxvi" << endl;
cout << "SemoitaneT 2 mTeli ricxvi : ";
double a,b;
cin >> a >> b;
cout << "oci shemtxveviti ricxvi [" << a << ',' << b << "] shualedidan: " << endl;
for(int i=0; i < 20; ++i)
cout << realRand(a,b) << endl;
//system("PAUSE");
return 0;
}
double realRand(double x, double y){
return x+ ((double)rand()/RAND_MAX)*(y-x);
}
davaleba:
1. SeasruleT programa sxvadasxva a da b striqonebisTvis.
2. miaqcieT yuradReba, aqvs raime mniSvneloba a<=b sruldeba Tu piriqiT?

<<< amocana 3: dawereT funqcia, romlis parametri aris striqoni. funqciam unda
daadginos, warmoadgens Tu ara igi palindroms. striqoni aris palondromi, Tu is
erTnairad ikiTxeba rogorc marjvnidan marcxniv, ise marcxnidan marjvniv. magaliTad,
ANNA – striqoni-palindromia. gamoiyeneT funqcia klaviaturidan Semotanili
striqonisTvis da dabeWdeT Sedegi.
programis saxe Semdegia:
///////////////////////////////////////////
// პროგრამა: სტრიქონის შებრუნება
///////////////////////////////////////////
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool Palindrom(string );
int main(){
string s; bool p;
cout << "Enter string\n";
getline(cin, s);
p = Palindrom(s);
if( p ) cout << "Is Palindrom" << endl;
else cout << "Is't Palindrom" << endl;
//system("pause");
return 0;
}
bool Palindrom(string k){
string s = k;
reverse(k.begin(), k.end());
return (s == k);
}
davaleba:
a) SeasruleT programa sxvadasxva striqonebisaTvis, magaliTad, ai ia, level, Ai
Ia.
b) axseniT Palindrom funqciis algoriTmi.

c) gaarCieT palindrom funqciis altenatiuli kodi, romelic ar iyenebs


standartul algoriTms:

კ. გელაშვილი, ი. ხუციშვილი 62
bool Palindrom(string k){
int i, len;
len = k.size();
for(i=0; i<len/2; i++)
if(k[i] != k[len-1-i])
return false;
return true;
}
<<< amocana 4: failSi “data.txt” weria ramdenime namdvili ricxvi. gadawereT es
ricxvebi veqtorSi, Semdeg gansazRvreT maT Soris udidesis indeqsi. indeqsis
gansazRvrisTvis SeqmeniT Sesabamisi funqcia.
//-------------------------------------------------------------//
// პროგრამა: ვექტორის მაქსიმალური ელემენტის ინდექსის განსაზღვრა //
//-------------------------------------------------------------//
using namespace std;
int maxIndex(const vector<double>);
int main(){
vector<double> vec;
double x;
ifstream ifs("data.txt");
while(ifs >> x)
vec.push_back(x);
if( vec.size() > 0 )
cout << "Index of maximum element: " << maxIndex(vec) << endl;
else cout << "Vector is empty!" << endl;
//system("pause");
return 0;
}
int maxIndex(const vector<double> v)
{
int ind(0);
for(int i = 1; i<v.size(); ++i)
if(v[ind] < v[i])
ind = i;
return ind;
}
davaleba:
a) SecvaleT kodi ise, rom funqciam ipovos minimaluri elementis indeqsi.
b) SecvaleT kodi ise, rom funqcias gadaewodos klaviaturidan Sevsili veqtori.
b) ra gavlenas axdens funqciis Sedegze const rezervirebuli sityva?

<<< damoukidebeli samuSao:


1. SeqmeniT funqcia, romelic ipovis 2 simbolodan udidess. es simboloebi funqciis
parametrebia. gamoiyeneT funqcia main-Si klaviaturidan Semotanili 2
simbolosTvis da dabeWdeT maT Soris udidesi.
2. dawereT funqcia, romelic ipovis 2 namdvili ricxvidan udidess. es ricxvebi
funqciis parametrebia. gamoiyeneT funqcia main-Si klaviaturidan Semotanili 2
namdvili ricxvisTvis da dabeWdeT maT Soris udidesi.
3. dawereT funqcia, romelic gamoiTvlis naturaluri n ricxvis cifrTa jams.
gamoiZaxeT funqcia main-Si klaviaturidan Setanili n ricxvis cifrTa jamis
dasadgenad. miRebuli Sedegi dabeWdeT.
gaarCieT Sesabamisi programa:
#include <iostream>
კ. გელაშვილი, ი. ხუციშვილი 63
using namespace std;
int DigitsSum(int );
int main(){
int number, sum;
cin >> number;
sum = DigitsSum(number);
cout << "Digits sum of " << number
<< " = " << sum << endl;
system("pause");
return 0;
}
int DigitsSum(int n){
int s =0;
while(n != 0){
s += n % 10;
n /= 10;
}
return s;
}
davaleba:
a) SeasruleT programa sxvadasxva naturaluri ricxvisTvis.
b) axseniT DigitsSum funqciis algoriTmi
g) SecvaleT funqciaSi while(N != 0) striqoni while( N ) –iT, kvlav
SeasruleT programa da axseniT Sedegi.
4*. dawereT funqcia, romelic daadgens, warmoadgens Tu ara naturaluri m ricxvi
palindroms. ricxvi aris palindromi, Tu is erTnairad ikiTxeba rogorc
marcxnidan marjvniv ise marjvnidan marcxniv. magaliTad, 12321 – palindromia.
5.* dawereT funqcia, romelic daadgens aris Tu ara naturaluri n ricxvi
avtomorfuli. ricxvi aris avtomorfuli, Tu misi kvadratis Canaweri bolovdeba
amave ricxviT. magaliTad, 5, 6, 25 da a.S. – avtomorfuli ricxvebia.
6*. dawereT funqcia, romelic daadgens aris Tu ara naturaluri m ricxvi
srulyofili. ricxvi aris srulyofili, Tu is udris yvela Tavisi gamyofis
jams, garda Tavis Tavisa. magaliTad, ricxvi 6 – srulyofilia, vinaidan 6=1+2+3.
7*. dawereT funqcia, romelic daadgens aris Tu ara naturaluri n ricxvi martivi.
8. fibonaCis ricxvebi ganisazRvreba Semdegi wesiT: F0  F1  1 , Fn  Fn1  Fn2 , Tu
n  2 . dawereT funqcia, romelic Cawers veqtorSi pirvel K fibonaCis ricxvs da
Semdeg dabeWdavs veqtors.
gaarCieT Sesabamisi C++– programa:
#include <iostream>
#include <vector>
using namespace std;
void Fibonacci_numbers(int );
int main(){
int K;
cout << "ShemoitaneT ricxvebis raodenoba : ";
cin >> K;
cout << "\nFibonachis pirveli " << K << " ricxvia\n\n";
Fibonacci_numbers(K);
system("pause");
return 0;
}
void Fibonacci_numbers(int K){
vector<int> F(K);

კ. გელაშვილი, ი. ხუციშვილი 64
F[0] = F[1] = 1;
for(int i=2; i<K; i++)
F[i] = F[i-1] + F[i-2];
for(int i=0; i<K; i++)
cout << F[i] << ' ';
cout << endl;
}
davaleba:
a) gauSviT programa Sesrulebaze da SeitaneT fibonaCis ricxvebis raodenobad 15.
darwmundiT, rom programam dabeWda:
Fibonachis pirveli 15 ricxvia
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
b) SeasruleT programa K –s sxvadasxva mniSvnelobebisTvis.

9. dawereT funqcia, romelic:


a) ipovis fibonaCis me-20 ricxvs;
b) ipovis fibonaCis N –ur ricxvs. N funqciis parametria;
g) gamoiTvlis iseTi fibonaCis ricxvebis jams, romlebic ar aRemateba M –s.
M funqciis parametria.
10. SeqmeniT funqcia void draw(int M); romelic erT striqonad gamoitans
ekranze M cal:
a) '*'-s; b) '+'-s; g) '-'-s; d) sleSs.

კ. გელაშვილი, ი. ხუციშვილი 65

You might also like