Professional Documents
Culture Documents
ხიჯაკაძე მარიამი დაპროგრამებაშუალედური
ხიჯაკაძე მარიამი დაპროგრამებაშუალედური
2021
ბილეთი
1. აღმოაჩინეთ და ახსენით შემდეგ პროგრამაში დაშვებული ყველა შეცდომა (მათი რაოდენობა 4 -ზე მეტია):
#include <iostream>
using namespace std;
int main() {
int k{ 0. };
const double p;
ifstream ifs("info.out");
while (ifs << k)
if k <= 5 && k > 15 cout << k << ' ';
cout << "p = " << p++ << endl;
}
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int k{ 0.};
double p; //p- არის კონსტი და ქვემოთ მისი ცვლილების ბრძანება არის ამიტომ არ უნდა იყოს
კონსტი
ifstream ifs("info.out"); //ბიბლიოთეკა არ იყო ჩამატებული <fstream>
while (ifs >> k) // შეტანის ფრჩხილების ანცვლა გამოტანის ფრჩხილები ეწერა
if (k <= 5 && k > 15) cout << k << ' '; // პირობას ფრჩხილები არ ეწერა
cout << "p = " << p++ << endl; // p კონსტი იყო და აქ ცვლილების მოთხოვნა იყო
}
შემდეგ ამოხსენით იგივე ამოცანა for შეტყობინების გარეშე ორნაირად: while -ით და დიაპაზონიანი for
შეტყობინებით.
While ციკლით:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> x = { 12, -10, 23, 45, -2, 9, -106 };
double j(0.); int c(0), i{};
დიაპაზონიანი for-ით:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> x = { 12, -10, 23, 45, -2, 9, -106 };
double j(0.); int c(0);
for (auto m : x)
{
if (m > 0 && m <= 25)
{
j += m; ++c;
}
}
შესრულებული კოდი:
#include <iostream>
#include <fstream>
#include <random>
#include <vector>
using namespace std;
int main()
{
int n;
default_random_engine gen;
uniform_real_distribution <double> dis(-10.1, 40.5);
uniform_int_distribution <int> mimd(35, 200);
vector <double> a;
vector <int> b;
sort(a.begin(), a.end());
sort(b.begin(), b.end());
3. შექმენით ფუნქცია, რომელიც მთელი რიცხვების ვექტორის ელემენტებს ბეჭდავს ეკრანზე. ძირითად
(main()) ფუნქციაში, numbers.txt ფაილიდან 45 დადებითი მთელი რიცხვი ჩაწერეთ სათანადო ტიპის
ვექტორში. დაბეჭდეთ ვექტორი ეკრანზე შექმნილი ფუნქციის გამოყენებით. შემდეგ:
int main()
{
int n;
ifstream ifs("numbers.txt");
vector <int> b;
func(b);
}
ა) დაადგინეთ ვექტორის ორნიშნა რიცხვების ჯამი და ასევე იმ სამნიშნა რიცხვების რაოდენობა, რომელთა
პირველი და შუა ციფრები ემთხვევა. answer.txt ფაილში დაბეჭდეთ ეს სამნიშნა რიცხვები, მათი
რაოდენობა და ნაპოვნი ჯამი. ბეჭდვას თან დაურთეთ სათანადო გზავნილები;
ა) დავალების კოდი:
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
int n, TwoSum{}, n10, n100, raodenoba{};
ifstream ifs("numbers.txt");
ofstream ofs("answer.txt");
vector <int> b;
vector <int> c;
{
b.push_back(n);
}
}
for (auto k : b)
{
n10 = k / 10;
n100 = k / 100;
if (k < 1000 && k > 99 && ((n10) % 10) == ((n100) % 10))
{
c.push_back(k);
raodenoba++;
}
else
{
continue;
}
}
ofs << "ornishna ricxvebis jami: " << TwoSum << endl;
ofs << "am vektorshi aris " << raodenoba << "-cali samnishna ricxvi romlis pirvelida
meore cipri ertnairia\n" << "es ricxvebia: ";
for (auto l : c)
{
ofs << l << ' ';
}
func(b);
}
ბ) გაცვალეთ ვექტორში პირველივე 7-ის ჯერადი რიცხვი და ვექტორის შუაში მდგომი რიცხვი. შემდეგ
დაბეჭდეთ ვექტორი ისევ ეკრანზე.
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
int n, TwoSum{}, n10, n100, raodenoba{};
ifstream ifs("numbers.txt");
ofstream ofs("answer.txt");
vector <int> b;
vector <int> c;
for (auto k : b)
{
n10 = k / 10;
n100 = k / 100;
if (k < 1000 && k > 99 && ((n10) % 10) = ((n100) % 10))
{
c.push_back(k);
raodenoba++;
}
else
{
continue;
}
}
ofs << "ornishna ricxvebis jami: " << TwoSum << endl;
ofs << "am vektorshi aris " << raodenoba << "-cali samnishna ricxvi romlis pirvelida
meore cipri ertnairia\n" << "es ricxvebia: ";
for (auto l : c)
{
ofs << l << ' ';
}
func(b);
cout << endl;
{
iter_swap(b.begin() + i, b.begin + 23);
break;
}
else
{
continue;
}
}
func(b);
}