№ 102.
using namespace std;
int phi (int n) {
int result = n;
for (int i=2; i*i<=n; ++i)
if (n % i == 0) {
while (n % i == 0)
n /= i;
result -= result / i;
}
if (n > 1)
result -= result / n;
return result;
}
int main(){
int n;
cin >> n;
cout << phi(n);
return 0;
}
100
40
50
38
№ 106.
Qiyinlik darajasi – 2
Massivning manfiy elementlarining summasini topish dasturining qismi qaysi javobda to'gri ko'rsatilgan
…
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i++) {
if (ary[i] < 0) {
sum += ary[i];
}
}
cout << sum << endl;
…
…
long product = 1;
for (unsigned int i = 0; i < ARRSIZE; i++) {
if (ary[i] < 0) {
product *= ary[i];
}
}
cout << product << endl;
…
…
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i += 2) {
sum += ary[i];
}
cout << sum << endl;
…
…
long sum = 0;
for (unsigned int i = 1; i < ARRSIZE; i += 2) {
sum += ary[i];
}
cout << sum << endl;
…
№ 107.
Qiyinlik darajasi – 2
Quyidagi dastur qismiga a = 24, b = 20 kiritilsa javob nechchi chiqishini aniqlang.
int a, b;
cin >> a >> b;
while(a != b){
if(a > b) a -= b;
else b -= a;
}
cout << a;
4
5
24
20
№ 108.
Qiyinlik darajasi – 2
Quyidagi funksiyalardan qaysi biri ikki satrni taqqoslaydi?
compare
erase
stringcmp
cmp
№ 109.
Qiyinlik darajasi – 2
...- bu xotirada tartiblangan va nomga ega bo'lgan bir xil turdagi elementlardir.
Massiv
Struktura
Birlashma
O’zgaruvchi
№ 110.
Qiyinlik darajasi – 2
Qaysi javobda dinamik ikki o‘lchovli massiv e’loni to'gri ko'rsatilgan?
double **mas; int n; cin>>n;
mas=new double *[n];
for(in i=0;iint n; cin>>n; mas[n][n];
const int n=100;
double mas[n][n];
double **mas;
mas=new double *[n];
for(in i=0;i
№ 111.
Qiyinlik darajasi – 2
tolower () funksiyasi qanday vazifani bajaradi?
Belgilar qatorida katta harfni kichik harf bilan almashtiradi
Belgilar qatorida kichik harfni katta harf bilan almashtiradi
Belgilar qatoridagi barcha harflarni raqamlar bilan almashtiradi
Belgilar qatoridagi barcha raqamlarni harflar bilan almashtiradi
№ 112.
Qiyinlik darajasi – 2
toupper () funksiyasi qanday vazifani bajaradi?
Belgilar qatorida kichik harfni katta harf bilan almashtiradi
Belgilar qatorida katta harfni kichik harf bilan almashtiradi
Belgilar qatoridagi barcha harflarni raqamlar bilan almashtiradi
Belgilar qatoridagi barcha raqamlarni harflar bilan almashtiradi
№ 113.
Qiyinlik darajasi – 2
Matnli fayllar bilan ishlashda EOL tushunchasi bu nima?
qatorning oxiri
faylning oxiri
qatorning boshi
faylning boshi
№ 114.
Qiyinlik darajasi – 2
Qaysi javob ikki o‘lchovli dinamik massiv to'gri e’lon qilingan va o'chirilgan?
double **mas; int n; cin>>n;
mas=new double *[n];
for(in i=0;i
//......
delete [] mas;
double **mas; int n; cin>>n;
mas=new double *[n];
for(in i=0;idouble **mas; cin>>n;
mas=new double *[n];
for(in i=0;idouble **mas; int n; cin>>n;
for(in i=0;i
№ 115.
Qiyinlik darajasi – 2
Aniq o'lchamdagi formatlash operatori ...
fixed
showpoint
scientifi
internal
№ 116.
Qiyinlik darajasi – 2
Quyidagi dastur qismi natijasini aniqlang.
int foo(int x, int y)
{
return x+y;
}
int foo(const int x, const int y)
{
return x+y+1;
}
int main()
{
const int x = 3;
const int y = 2;
std::cout << foo(x,y) << std::endl;
return 0;
}
Kompilyatsiyada xatolik
6
3
5
№ 117.
Qiyinlik darajasi – 2
Massivning musbat elementlari yig'indisini topish dasturining qismini toping
int sum=0;
for (int i=0; i
{
if (a[i]>0)
{
sum+=a[i];
}
}
if (!sum)
{
cout<<"no numbers < 0";
}
else
{
cout<<"sum = "<
}
int sum=0;
for (int i=0; i
{
if (a[i]<0)
{
sum+=a[i];
}
}
if (!sum)
{
cout<<"no numbers < 0";
int p=1;
for (int i=1; i
{
p*=a[i];
}
cout<<"answer: "<
int p=1;
for (int i=0; i
{
if (i%2==1) p*=a[i];
}
cout<<"answer: "<
№ 118.
Qiyinlik darajasi – 2
Satrni bildiruvchi ma'lumotlar turini belgilang?
string
int
char
double
№ 119.
Qiyinlik darajasi – 2
Juft indeksli massiv elementlari yig'indisini topish dasturining qismi qanday javobda to'gri ko'rsatilgan
…
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i += 2) {
sum += ary[i];
}
cout << sum << endl;
…
…
long product = 1;
for (unsigned int i = 0; i < ARRSIZE; i++) {
if (ary[i] < 0) {
product *= ary[i];
}
}
cout << product << endl;
…
…
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i++) {
if (ary[i] < 0) {
sum += ary[i];
}
}
cout << sum << endl;
…
…
long sum = 0;
for (unsigned int i = 1; i < ARRSIZE; i += 2) {
sum += ary[i];
}
cout << sum << endl;
…
№ 120.
Qiyinlik darajasi – 2
Fayllar bilan ishlashda fayllarni ochishning w+ rejimi vazifasi qanday?
Yozish va o’qish uchun fayl hosil qiladi;
Faylni o’qish uchun ochiladi;
Faylni yozish uchun hosil qiladi;
Faylni o’chirish va yozish uchun ochadi
№ 121.
Qiyinlik darajasi – 2
To'g'ri massiv e’lonini aniqlang ?
int anarray[10];
anarray{10};
array an array[10];
int anarray;
№ 122.
Qiyinlik darajasi – 2
Quyidagi dastur qismi natijasini aniqlang
char s[] = "Aka";
*s = 'U';
cout << s;
Uka
A
Aka
U
№ 123.
Qiyinlik darajasi – 2
Qaysi funksiya matnli fayllar bilan ishlashda mavjud get(olish) pozitsiyasini ifodalaydigan streampos turdagi qiymatni qaytaradi?
tellg()
tellp()
seekg()
seekp()
№ 124.
Qiyinlik darajasi – 2
Dastur qismining bajarilishi natijasida ekranda qanday qiymat ko'rsatiladi?
int sum = 0;
int array[3][3] = {{2, 1, 2}, {3, 4, 5}, {6, 7, 8}};
for (int i = 0; i < 3 ; ++i)
{
for (int j = 0; j < 3 ; j++)
{
sum += array[i][j];
}
}
cout<38
35
30
28
№ 125.
Qiyinlik darajasi – 2
Belgilar turini oladigan o‘zgaruvchini qanday kalit so‘z bilan e’lon qilish mumkin?
char
void
bool
int
№ 126.
Qiyinlik darajasi – 2
Quyidagi dastur natijasini aniqlang.
#include
int foo(int x, int y)
{
return x+y;
}
double foo(double x, double y)
{
return x+y;
}
int main()
{
int (*ptr)(int, int);
ptr = foo;
std::cout << ptr(3.5,8.7);
return 0;
}
11
12
12.2
Kompilyatsiyada xatolik
№ 127.
Qiyinlik darajasi – 2
Juft indeksli massiv elementlarining ko'paytmasini topish dasturining qismini ko’rsating
int p=1;
for (int i=0; i
{
p*=a[i];
}
cout<<"answer: "<
int sum=0;
for (int i=0; i
{
if (a[i]>0)
{
sum+=a[i];
}
}
if (!sum)
{
cout<<"no numbers < 0";
}
else
{
cout<<"sum = "<
}
int sum=0;
for (int i=0; i
{
if (a[i]<0)
{
sum+=a[i];
}
}
int p=1;
for (int i=0; i
{
if (i%2==1) p*=a[i];
}
cout<<"answer: "<
№ 128.
Qiyinlik darajasi – 2
To?g?ri aniqlangan satr o?zgaruvchisini e’loni toping?
string mystr;
string []mystr;
char mystr;
string[20] mystr;
№ 129.
Qiyinlik darajasi – 2
Toq indeksli massiv elementlari yig'indisini topish dasturining qismi qaysi javobda to'gri ko'rsatilgan
…
long sum = 0;
for (unsigned int i = 1; i < ARRSIZE; i += 2) {
sum += ary[i];
}
cout << sum << endl;
…
…
long product = 1;
for (unsigned int i = 0; i < ARRSIZE; i++) {
if (ary[i] < 0) {
product *= ary[i];
}
}
cout << product << endl;
…
…
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i += 2) {
sum += ary[i];
}
cout << sum << endl;
…
…
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i++) {
if (ary[i] < 0) {
sum += ary[i];
}
}
cout << sum << endl;
…
№ 130.
Qiyinlik darajasi – 2
Quyidagi dastur qismida s satriga 123 kiritilsa Nima chiqishini chop eting
char s[100];
cin >> s;
int n = (int)strlen(s);
for(int i = 0; i < n; i ++)
cout << int(s[i]);
495051
484950
123
321
№ 131.
Qiyinlik darajasi – 2
E'lon qilingan char a o'zgaruvchisining qaysi biri to'g'ri emas?
a = "3";
a = '3';
a = 3;
a=(int)3
№ 132.
Qiyinlik darajasi – 2
Faylni ikkilik rejimda ochishda quyidagilardan qaysi biri ishlatiladi?
ios::binary
ios:app
ios::out
ios::in
№ 133.
Qiyinlik darajasi – 2
Dastur qismi bajarilishi natijasida ekranda qanday qiymat ko'rsatiladi?
int sum = 0;
int array[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
for (int i = 0; i < 3 ; ++i)
{
for (int j = 2; j < 3 ; j++)
{
sum += array[i][j];
}
}
std::cout << sum << std::endl;
15
36
21
9
№ 134.
Qiyinlik darajasi – 2
Quyidagi dastur natijasini aniqlang
#include
using namespace std;
int main() {
class student {
int rno = 10;
} v;
cout << v.rno;
return 0;
}
Kompilyatsiyada xatolik
Bajarilish vaqtida xatolik
10
Tasodifiy qiymat
№ 135.
Qiyinlik darajasi – 2
Qaysi funksiya matnli fayllar bilan ishlashda mavjud get(olish) pozitsiyasini o’zgartirishga imkon beradi?
seekg()
tellg()
tellp()
seekp()
№ 136.
Qiyinlik darajasi – 2
Dasturning bajarilishi natijasida ekranda qanday qiymat ko'rsatiladi?
char s[] = "Toshkent Axborot Texnologiyalari Universiteti talabalari";
char c='a'; int k=0;
for(int i=0; iif(s[i]==c) k++;
cout<6
4
5
7
№ 137.
Qiyinlik darajasi – 2
Toq indeksli massiv elementlari ko'paytmasini topish dasturining qismi qaysi javobda to'gri ko'rsatilgan
long p= 1;
for (unsigned int i = 1; i < ARRSIZE; i += 2) {
sum *= ary[i];
}
cout << sum << endl;
long product = 1;
for (unsigned int i = 0; i < ARRSIZE; i++) {
if (ary[i] < 0) {
product *= ary[i];
}
}
cout << product << endl;
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i += 2) {
sum *= ary[i];
}
cout << sum << endl;
long sum = 0;
for (unsigned int i = 0; i < ARRSIZE; i += 2) {
sum += ary[i];
}
cout << sum << endl;
№ 138.
Qiyinlik darajasi – 2
Dasturning natijasi qanday bo'ladi?
int main() {
int a,b,c; double d;
a=0; b=2; c=1;
d=(a+b)/c+pow(b,a)/b;
cout << d << endl;
return 0;}
2,5
2
5
25
№ 139.
Qiyinlik darajasi – 2
Quyidagi dastur natijasini aniqlang
#include
int f(int a){
return ++a;
}
int f(unsigned int a){
return --a;
}
int main(){
std::cout << f(5);
return 0;
}
6
4
5
Kompilyatsiyada xatolik
№ 140.
Qiyinlik darajasi – 2
Qaysi javobda juft indeksli massiv elementlarining ko'paytmasini topish dasturining qismini toping.
int p=1;
for (int i=0; i{
if (i%2==0) p*=a[i];
}
cout<<"answer: "<
int sum=0;
for (int i=0; i
{
if (a[i]>0)
{
sum+=a[i];
}
}
if (!sum)
{
cout<<"no numbers < 0";
}
else
{
cout<<"sum = "<
}
int p=1;
for (int i=0; i
{
if (i%2==1) p*=a[i];
}
cout<<"answer: "<
int p=1;
for (int i=0; i
{
if (i%2==0) p+=a[i];
}
cout<<"answer: "<
№ 141.
Qiyinlik darajasi – 2
stringstream funksiyasini chaqirish uchun qanday sarlavha faylidan foydalaniladi?
sstream
ifstream.h
iomanip
conio.h
№ 142.
Qiyinlik darajasi – 2
C ++ dasturlash tilida massivni indekslash qanday qiymatdan boshlanadi
0 dan
1 dan
Dasturchi aniqlagan sondan
To'gri javob mavjud emas
№ 143.
Qiyinlik darajasi – 2
Quyidagi dastur qismida s satriga 243 kiritilsa dastur natijasini chop eting
char s[100];
cin >> s;
int n = (int)strlen(s);
for(int i = 0; i < n; i ++)
cout << int(s[i]);
505251
495150
243
341
№ 144.
Qiyinlik darajasi – 2
"Xayr maktab" iborasi n ta elementdan iborat belgilar qatorida saqlanishi mumkin. n ning qiymati nimaga teng?
12
10
11
9
№ 145.
Qiyinlik darajasi – 2
a_file nomli ochiq faylga natijani qanday yoziladi?
a_file<<"Output";
out("Output");
a_file="Output";
printf("Output");
№ 146.
Qiyinlik darajasi – 2
Qaysi javob varianti ikki o‘lchovli massivni e’lon qiladi?
int anarray[20][20];
array anarray[20][20];
char array[20];
int array[20, 20];
№ 147.
Qiyinlik darajasi – 2
Qaysi funksiya matnli fayllar bilan ishlashda mavjud put(joylashtirish) pozitsiyasini o’zgartirishga imkon beradi?
seekp()
tellg()
tellp()
seekg()
№ 148.
Qiyinlik darajasi – 2
Ushbu dastur qismi nimani topadi?
int i, res = 0, f [20];
for (i = 0; i < 20; i++)
scanf ("%d", &f[i] );
for (i = 1; i < 20; i++ )
if (f[res]>f[i])
res = i;
printf ("%d", res );
Minimal element indeksi
Maxsimal element indeksi
Maxsimal element
Minimal element
№ 149.
Qiyinlik darajasi – 2
eof()funksiyasining tarifi to’g’ri keltirilgan javobni ko’rsating?
Agar o'qish uchun ochilgan fayl oxiriga yetgan bo'lsa, true(rost) qiymatni qaytaradi.
Agar o'qish uchun ochilgan fayl oxiriga yetgan bo'lsa, false(yolg’on) qiymatni qaytaradi.
Agar o'qish yoki yozish jarayoni muvaffaqiyatsiz bo'lsa funksiya true qaytaradi .
Agar o'qish yoki yozish jarayoni muvaffaqiyatsiz bo'lsa funksiya false qaytaradi .
№ 150.
Qiyinlik darajasi – 2
To'g'ri e’lon qilingan 25 ta qatordan iborat satr o’zgaruvchisi A ni aniqlang
string A[25];
string A;
char A[25]
char A[26]
№ 151.
Qiyinlik darajasi – 2
Quyidagi dastur qismida n ning qiymatiga 36 soni kiritilsa dastur natijasi nimaga teng bo’ladi?
int n, cnt = 0;
cin >> n;
for(int i = 2; i * i <= n; i ++){
if(n % i == 0){
while(n % i == 0)
n /= i;
cnt ++;
}
}
cout << cnt;
2
4
Kompilyatsiyada xatolik
3
№ 152.
Qiyinlik darajasi – 2
Quyidagi dastur qismi natijasini aniqlang
for (int i = 0; i < 4; ++i)
{
switch (i)
{
case 0 : std::cout << "0";
case 1 : std::cout << "1"; continue;
case 2 : std::cout << "2"; break;
default : std::cout << "D"; break;
}
std::cout << ".";
}
0112.D.
0.1.2.
01.2.D.
011.2.D.
№ 153.
Qiyinlik darajasi – 2
Massivning eng katta elementini topish dasturining qismini toping
double max=a[0]; int n,i; cin>>n;
for (int i=1; imax)
max=a[i];
}
cout<<"max: "<
int min=abs(a[0]);
for (int i = 1; i < n; i++) {
if (min>abs(a[i]))
min=a[i];
}
cout<<"abs min: "<
int imax=0, imin=0;
for (int i=1; i < n; i++) {
if (a[i]>a[imax])
imax=i;
if (a[i]imin=i;
}
cout<<"answer: "<
int imin=-1;
for (int i=0; i
if ((!(a[i]%2) && (imin==-1 || a[imin]>a[i]))
imin=i;
}
if (imin==-1)
cout<
else
cout<№ 154.
Qiyinlik darajasi – 2
goto operatori nimaga mo’ljallangan ?
O'tish uchun
E'lon uchun
O’zlashtirish
Saqlash uchun
№ 155.
Qiyinlik darajasi – 2
Massivning modul bo'yicha minimal elementini topish dastur qismini ko'rsating
int min=abs(a[0]);
for (int i = 1; i < n; i++) {
if (min>abs(a[i]))
min=a[i];
}
cout<<"abs min: "<
int imax=0, imin=0;
for (int i=1; i < n; i++) {
if (a[i]>a[imax])
imax=i;
if (a[i]imin=i;
}
cout<<"answer: "<
int imin=-1;
for (int i=0; i
if ((!(a[i]%2) && (imin==-1 || a[imin]>a[i]))
imin=i;
}
if (imin==-1)
cout<
else
cout<int max=0;
for (int i=1; imax)
max=a[i];
}
cout<<"max: "<
№ 156.
Qiyinlik darajasi – 2
Quyidagi dastur qiymati 1 dan n gacha bo’lgan oraliqdagi 2 ning darajalariga teng bo’lgan sonlarni chop etishi uchun sikl tanasidagi qadam qismida nima yozilishi kerakligini aniqlang
#include
using namespace std;
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; qadam)
cout << i << ' ';
return 0;
}
i *= 2
i += 2
i--
i++
№ 157.
Qiyinlik darajasi – 2
satrni qanday e'lon qilishimiz mumkin?
char satr[] = "Institut";
char satr = "Institut";
char &satr[] = "Institut";
a va c javoblar o'g'ri
№ 158.
Qiyinlik darajasi – 2
Matnli fayllar bilan ishlashda mavjud get(olish) pozitsiyasini yoki put(joylashish) pozitsiyasini ifodalaydigan streampos turdagi qiymatni qaytaradigan funksiyalar parametrga ega bo’ladimi?
Yo’q
Ha
Bunday funksiya mavjud emas
bool va int toifasidagi parametrlarga ega
№ 159.
Qiyinlik darajasi – 2
C++ tilida satr qanday belgi bilan tugaydi ?
\0
/0
“
.
№ 160.
Qiyinlik darajasi – 2
To'g'ri sintaksis qaysi javobda to’g’ri ko’rsatilgan?
myfile.open ("misol.bin", ios :: out);
myfile: open ("misol.bin", ios :: out);
myfile :: open ("misol.bin", ios :: out);
open ("misol.bin", ios: out);
№ 161.
Qiyinlik darajasi – 2
Agar C++ tilidagi bir o‘lchovli massiv N ta elementdan iborat bo‘lsa, uning indeksi qiymatlarni qabul qilishi mumkin.
0 dan N-1 gacha
1 dan N gacha
0 dan N gacha
0 dan N+1 gacha
№ 162.
Qiyinlik darajasi – 2
Quyidagi dastur qism kodidan 1 ta belgini o’zgartirib(yoki qo’shib) dastur natijasida 20 ta * (yulduzcha) belgisini chiqaring
int i, N = 20;
for(i = 0; i < N; i--)
printf("*");
int i, N = 20;
for(i = 0; i < N; N--)
printf("*");
int i, N = 20;
for(i = 19; i < N; i--)
printf("*");
int i, N = 20;
for(i = 20; i < N; i--)
printf("*");
int i, N = 40;
for(i = 0; i < N; i--)
printf("*");
№ 163.
Qiyinlik darajasi – 2
Asosiy dasturda ham, boshqa funksiyalarda ham ishlashi mumkin bo'lgan o'zgaruvchilar ...?
Global o'zgaruvchilar
Parametrli funksiyalar
Parametrsiz o'zgaruvchi
Lokal o'zgaruvchilar
№ 164.
Qiyinlik darajasi – 2
Massivning manfiy elementlari yig'indisini topish dasturining qismini toping
double sum=0;
for (int i=0; i{
if (a[i]<0)
{
sum+=a[i];
}
}
if (!sum)
{
cout<<"no numbers < 0";
}
else
{
cout<<"sum = "<}
int sum=0;
for (int i=0; i
{
if (a[i]>0)
{
sum+=a[i];
}
}
if (!sum)
{
cout<<"no numbers < 0";
}
else
int p=1;
for (int i=1; i
{
p*=a[i];
}
cout<<"answer: "<
int p=1;
for (int i=0; i
{
if (i%2==1) p*=a[i];
}
cout<<"answer: "<
№ 165.
Qiyinlik darajasi – 2
Qaysi javobda dasturning minimal va maksimal elementlarning indekslari yig'indisini topish dastur qismi keltirilgan
int imax=0, imin=0;
for (int i=1; i < n; i++) {
if (a[i]>a[imax])
imax=i;
if (a[i]imin=i;
}
cout<<"answer: "<
int min=abs(a[0]);
for (int i = 1; i < n; i++) {
if (min>abs(a[i]))
min=a[i];
}
cout<<"abs min: "<
int imin=-1;
for (int i=0; i
if ((!(a[i]%2) && (imin==-1 || a[imin]>a[i]))
imin=i;
}
if (imin==-1)
cout<
else
cout<int max=0;
for (int i=1; imax)
max=a[i];
}
cout<<"max: "<
№ 166.
Qiyinlik darajasi – 2
Satr bu -
Belgilar ketma-ketligi
Ustunlar ketma-ketligi
Chiqish ketma-ketligi
Kirish ketma-ketligi
№ 167.
Qiyinlik darajasi – 2
Qaysi javob varianti bir o‘lchovli statik massivni e’lon qiladi?
int anarray[20];
array *anarray[20]
char *array[20];
int array[20, 20];
№ 168.
Qiyinlik darajasi – 2
Quyidagi dastur qiymati 1 dan n gacha bo’lgan oraliqdagi 2 ga karrali sonlarni chop etishi uchun sikl tanasidagi qadam qismida nima yozilishi kerakligini aniqlang
#include
using namespace std;
int main(){
int n;
cin >> n;
for(int i = 2; i <= n; qadam)
cout << i << ' ';
return 0;
}
i += 2
i *= 2
i -= 2
++i
№ 169.
Qiyinlik darajasi – 2
Quyidagilardan qaysi biri satrni to‘g‘ri kiritish qatori?
char matn[15]; gets(matn);
char matn[15]; cin.getline(matn);
char matn[15]; cin.getline(matn15);
char matn[15]; getline(cin, matn);
№ 170.
Qiyinlik darajasi – 2
Voris sinfi ko'rinish strukturasining umumiy ko'rinishini ko'rsating
Class derived:access base{ voris sinf tanasi };
Class Base{ sinf tanasi };
Class Base:access Derived{ voris sinf tanasi };
Access derived:access derived{ voris sinf tanasi };
№ 171.
Qiyinlik darajasi – 2
Inkapsulyatsiya bu :
Ob'ektga tegishli ma'lumotlarni tashqi omillardan himoya qiladi
Ob'ektga tegishli ma'lumotlarni tashqi omillardan himoya qilmaydi
Boshqa sinf a'zolariga so'rov yuboring
Ob'ekt ma'lumotlarni konstruktor sifatida yuboradi.
№ 172.
Qiyinlik darajasi – 2
Ushbu funksiya fayldan bitta belgini o'qiydi.
get
read
put
input
№ 173.
Qiyinlik darajasi – 2
class A{
private:
int a = 25;
int minus()
{
return a -10;
}
public:
void display()
{
cout << minus();
}
};
class B:public A{
public:
};
int main()
{
B x;
x.display();
}
Ushbu dastur qismini bajarish jarayonida qanday natija ko'rsatiladi.
15
25
40
35
№ 174.
Qiyinlik darajasi – 2
Quyidagi dastur qismi natijasini aniqlang
template
class Val{
public:
T val;
Val operator ++(){
val ++;
return *this;
}
};
template<>
class Val{
public:
char val;
Val operator ++(){
val = (val - 96) % 26 + 97;
return *this;
}
};
int main(){
Vala;
Valb;
a.val = 5;
b.val = 'x';
for(int i = (++a).val; i > 0; i --)
cout << (++b).val;
return 0;
}
yzabcd
xyzabc
xyz{|}
yz{|}~
№ 175.
Qiyinlik darajasi – 2
Quyidagi dastur qismiga n soniga 10 kiritilsa dastur natijasini chop eting
int get(int n){
return n < 2 ? n : get(n-1) + get(n-2);
}
int main(){
int n;
cin >> n;
cout << get(n);
return 0;
}
55
34
21
13
№ 176.
Qiyinlik darajasi – 3
Meros klass konstruktorini yaratishda:
Voris sinfi uchun konstruktor yaratishda u merosxo'r sinf nomi bilan bir xil nomga ega bo'lishi kerak.
Merosli sinf uchun konstruktor yaratishda u asosiy sinf nomi bilan bir xil nomga ega bo‘lishi kerak
Voris sinfini yaratganingizda, konstruktor yaratilmaydi. Voris sinfi konstruktori asosiy sinfning xossasi sifatida qabul qilinadi
Barcha javoblar to'g'ri
№ 177.
Qiyinlik darajasi – 3
Polimorfizm quyidagi mexanizm orqali amalga oshiriladi:
funksiyalarni qayta yuklash, merosxo’rlik , virtual funksiyalar
funksiyalarni qayta yuklash, metodlarni vorislik bilan yuborish, qoliplar
usullarni meros qilish , virtual funksiyalar, qoliplar
yuklash funksiyalari qayta yuklash, virtual funksiyalar, qoliplar
№ 178.
Qiyinlik darajasi – 3
Funksiyalar virtual deb ataladi:
Asosiy sinfdan olingan voris sinfda qayta aniqlanishi mumkin bo'lgan funksiyalar
olingan sinfda ishlatilmaydigan asosiy sinf funksiyalari;
asosiy sinfda bekor qilib bo'lmaydigan asosiy sinf funksiyalari;
asosiy sinfda bekor qilib bo'lmaydigan asosiy sinf funksiyalari
№ 179.
Qiyinlik darajasi – 3
Quyidagi dastur qismi to’g’ri ishlashi uchun dasturchi tomonidan tuzilgan Complex sinfi ichida qaysi operator overload qilingan bo’lishi kerakligini aniqlang
class Complex{
public:
int real, imag;
Complex(int real, int imag):real(real), imag(imag){}
// operator overload uchun joy
};
int main(){
Complex a(3, 4);
a = -a;
cout << a.real << ' ' << a.imag;
return 0;
}
Complex operator -()
Complex operator —-()
Complex operator -(Complex a)
Complex friend operator -(Complex a, Complex b)
№ 180.
Qiyinlik darajasi – 3
Do'st funksiya bu -
friend atributiga ega sinfda e'lon qilingan funksiya, lekin sinf a'zosi bo’lmagan
argumentlari orasida ushbu sinfning elementlari mavjud bo'lgan boshqa sinfning funksiyasi
sinf a'zosi bo'lgan va do'st atributi bilan e'lon qilingan funksiya
boshqa sinfda bu funksiyaga mos deb e'lon qilingan funksiya
№ 181.
Qiyinlik darajasi – 3
Meros klass konstruktorini yaratishda:
Voris sinfi uchun konstruktor yaratishda u merosxo'r sinf nomi bilan bir xil nomga ega bo'lishi kerak.
Merosli sinf uchun konstruktor yaratishda u asosiy sinf nomi bilan bir xil nomga ega bo‘lishi kerak
Voris sinfini yaratganingizda, konstruktor yaratilmaydi. Voris sinfi konstruktori asosiy sinfning xossasi sifatida qabul qilinadi
Barcha javoblar to'g'ri
№ 182.
Qiyinlik darajasi – 3
Agar asosiy sinf va merosxo'r sinf o'rtasidagi murojat private bo'lsa, nima bo'ladi:
Asosiy sinfning protected va public xususiyatlari va usullari merosxo'r sinf uchun private bo'ladi.
Asosiy sinfning protected xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi
Asosiy sinfning public xususiyatlari va usullari merosxo'r sinf uchun protected bo'ladi
Asosiy sinfning public xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi.
№ 183.
Qiyinlik darajasi – 3
Bir nechta sinflardan meros olish jarayonini ko'rsating.
class Derived: Access Base_1, Access Base_2, …{ };
class Base_1, Base_2, …:Access Derived{};
class Derived: Access Derived_2: Access:Base{};
class Derived:{ Access Base1, Base2, …}{ };
№ 184.
Qiyinlik darajasi – 3
Vorislik bu-
Bir ob'ekt boshqa ob'ektning xossalari va usullarini oladi, ya'ni bir sinf boshqa sinfdan meros oladi.Birinchi sinfning barcha atributlari va usullari ikkinchi sinfga o'tadi.
Ob'ektlar tashqi omil ta'siridan himoyalanmagan, ya'ni ob'ektning o'zi boshqa ob'ektlarga tegishli, huquqlar berilmaydi.
Kirish huquqlari har doim ochiq bo'lgan yangi yaratilgan sinf.
Ob'ektlarni boshqa ob'ektga ko'chiradi
№ 185.
Qiyinlik darajasi – 3
To'plamli vorislik … uchun qo'llaniladi.
Voris sinfni ikkita va undan ortiq ota sinf xususiyatlari bilan ta'minlash.
Shablonlarni bir nechta bazaviy (ota) sinflari bilan ta'minlash.
Bir nechta shablon sinfni bazaviy (ota) sinflari bilan ta'minlash uchun.
Algoritmni u bilan ishlaydigan konkret ma'lumot turlaridan ajratish.
№ 186.
Qiyinlik darajasi – 3
#include
using namespace std;
class A{
private:
int a = 25;
int funk_1()
{
return a -10;
}
int funk_2()
{
return a*a;
}
public:
int display()
{
return funk_1() + funk_2();
}
};
class B:public A{
public:
void result()
{
cout << " Result: " << display();
}
};
int main()
{
B x;
x.result();
}
Ushbu dasturni bajarish jarayonida qanday natija ko'rsatiladi.
Result: 640
Result: 625
Result: 15
Result: 40
№ 187.
Qiyinlik darajasi – 3
Quyidagi dastur natijasini aniqlang
#include
using namespace std;
template
class Val{
public:
T val;
Val operator ++(){
val ++;
return *this;
}
};
template<>
class Val{
public:
char val;
Val operator ++(){
val = (val - 96) % 26 + 97;
return *this;
}
};
int main(){
Vala;
Valb;
a.val = 6;
b.val = 'v';
for(int i = (++a).val; i > 0; i --)
cout << (++b).val;
return 0;
}
wxyzabc
vwxyzab
vwxyz{|
wxyz{|}
№ 188.
Qiyinlik darajasi – 3
Ushbu dasturni bajarish jarayonida qanday natija ko'rsatiladi.
#include
using namespace std;
class A
{ public:
A() { f(); }
virtual void f()
{ cout << "A::f"; } };
class B : public A
{ public:
void f()
{ cout << "B::f"; } };
int main( )
{ A * a = new B(); delete a; return 0; }
A::f
B::f
А
f
№ 189.
Qiyinlik darajasi – 3
Quyidagi dasturda n soniga 9 kiritilsa dastur natijasini chop eting
#include
using namespace std;
int get(int n){
return n < 2 ? n : get(n-1) + get(n-2);
}
int main(){
int n;
cin >> n;
cout << get(n);
return 0;
}
34
55
21
13
№ 190.
Qiyinlik darajasi – 3
Funksiyani qayta aniqlashga nisbatan quyidagi fikrlardan qaysi biri noto‘g‘ri
Funksiyani faqat bir marta qayta aniqlash mumkin.
Qayta aniqlangan funksiya bir xil qaytish turiga va bir xil parametrlar ro'yxatiga ega bo'lishi kerak.
Qayta aniqlangan funktsiyani sinf ichida bajarib bo'lmaydi.
Statik funktsiyani bekor qilib bo'lmaydi
№ 191.
Qiyinlik darajasi – 3
To'g'ri mulohozani tanlang:
do'stona funksiya sinf ichida e'lon qilinadi, sinf elementlariga murojat qilish imkoni mavjud bo’ladi
do'st funksiya oddiy funktsiya bo'lishi mumkin emas, faqat boshqa sinfning usuli
bitta funktsiya ko'p sinfga do’st bo’lishi mumkin
do'st funktsiya boshqa sinf metodi bo'lishi mumkin emas
№ 192.
Qiyinlik darajasi – 3
Agar asosiy sinf va merosxo'r sinf o'rtasidagi murojatlar public bo'lsa, unda nima bo'ladi:
Asosiy sinfning protected va public xususiyatlari va usullari mod ravishda merosxo'r sinf uchun protected va public bo'ladi.
Asosiy sinfning public va private xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi
Asosiy sinfning protected va public xususiyatlari va usullari merosxo'r sinf uchun private bo'ladi.
Asosiy sinfning protected xususiyatlari va usullari merosxo'r sinf uchun public bo'ladi.
№ 193.
Qiyinlik darajasi – 3
#include
using namespace std;
class Inkapsulyatsiya
{
private:
int x;
public:
void set(int a)
{
x =a;
}
int get()
{
return x;
}
};
int main()
{
Inkapsulyatsiya obekt;
obekt.set(15);
cout<
return 0;
}
Ushbu dasturni bajarish jarayonida qanday natija ko'rsatiladi.
15
A
set()
set(15)
№ 194.
Qiyinlik darajasi – 3
Agar merosxo'r sinfini yaratishda asosiy sinfga murojaat qilishda kirish darajasi (Kirish) ko'rsatilmagan bo'lsa, u holda qaysi kirish darajasi ishlaydi
Private
Protected
Public
Kirish darajasi belgilanishi kerak
№ 195.
Qiyinlik darajasi – 3
Quyidagi dastur qismi natijasini aniqlang.
int *x = new int;
/* x ko'rsatgichi 0x100607000 xotira adresini ko'rsatib turibdi deb hisoblaylik*/
cout << x << ‘ ’;
cout << x + 6;
0x100607000 0x100607018
0x100607000 0x100607006
0x100607000 0x100607024
To’g’ri javob yo’q
№ 196.
Qiyinlik darajasi – 3
Oqim boshlanishiga nisbatan joylashishni aniqlashda quyidagilardan qaysi biri ishlatiladii ?
ios :: beg
os :: start
ios :: begin
ios :: beginning
№ 197.
Qiyinlik darajasi – 3
#include
using namespace std;
int a[5] = {1,2,3,4,5};
class A{
public:
int display()
{
int s = 0;
for (int i=0; i<5; i++)
s+=a[i];
return s;
}
int summa(int n)
{
int S = 0;
for (int i=1; i<=n; i++)
S+=i;
return S;
}
};
class B:public A{
public:
void result()
{
cout << "Result: " << display() << endl;
cout << " Result: " << summa(100) << endl;
}
};
int main()
{
B x;
x.result();
}
Ushbu dasturni bajarish jarayonida qanday natija ko'rsatiladi.
Result: 15
Result: 5050
Result: 625
Result: 5050
Result: 15
№ 198.
Qiyinlik darajasi – 3
Funktsiya shabloni bu .
qayta ishlanayotgan ma'lumotlar turiga shartli belgi berilgan funksiyaga aytiladi.
parametr nomlari o?rniga shartli turga ega funksiya prototipi
funktsiya ta'rifi, bunda prototip shartli turni ko'rsatadi va ta'rif qayta ishlangan parametrlar turlari uchun variantlarni ko'rsatadi.
qayta ishlangan parametrlar turlarining mumkin bo'lgan variantlarini ko'rsatadigan funksiya ta'rifi
№ 199.
Qiyinlik darajasi – 3
Agar siz asosiy sinfda konstruktor yaratsangiz va merosxo'r sinf uchun konstruktor yaratsangiz, merosxo'r sinf ob'ektini e'lon qilganingizda, merosxo'r sinfning konstruktori chaqiriladi va o'sha paytda asosiy sinf konstruktori chaqiriladimi. ?
Ha. Chunki u asosiy sinfning merosxo'ri hisoblanadi, chunki merosxo'r asosiy sinfning barcha xossalari va usullarini meros qilib olganida meros qilib oladi.
Ha. Chunki u asosiy sinfning merosxo'ri hisoblanadi, usullarini meros qilib olganida meros qilib oladi.
Merosxo’r sinflar uchun sinf konstruktorlari yaratilmaydi.
Barcha javoblar to'g'ri
№ 200.
Qiyinlik darajasi – 3
Quyidagi kirish modifikatorlarining qaysi birida inkapsulyatsiya ma'lumotlarni tashqi omillardan himoya qiladi
private и protected
public
hidden
Protected и public