Ma’lumotlar tuzilmasi va algoritmlar fanining maqsad va vazifasini izohlab bering



Download 1,69 Mb.
bet52/52
Sana07.07.2021
Hajmi1,69 Mb.
#111672
1   ...   44   45   46   47   48   49   50   51   52
Bog'liq
MTA yakuniy javoblai

Dasturlar

Polindrom dasturi:

#include

#include

using namespace std;


bool polin(string str)

{

for(int i=0;i

{

if(str[i]!=str[str.length()-1-i])

return false;

}

return true;


}

int main()

{

string suz;



cout<<"Suz kiriting: ";cin>>suz;
if(polin(suz)==1)

cout<<"suz polindrom ";

if(polin(suz)==0)

cout<<"suz polindrom emas ";


return 0;

}
Binar qidiruvdan foydalanib massivdan berilgan kalitga karrali kalitli elementni va solishtirishlar sonini toping.

#include

using namespace std;

int main()

{

int n; cout<<"n= ";cin>>n;



int w[n];

for(int i=0;i>w[i];

int key,search;

cout<<"Kalitni kiriting= "; cin>>key;

for(int i=0;i

if (w[i] % key == 0)

cout<<"karrali element "<

}

int low = 0;



int hi = n-1; int j=0;
while (low <= hi)

{

int mid = (low + hi) / 2;j++;



if (key == w[mid])

{

search = mid;



cout<

system("pause");

exit(0);

}

if (key < w[mid])



hi = mid - 1;

else low = mid + 1;

}

search=-1;



cout<

system("pause");

}

O’tgan yildan beri ta’mirlanmagan mashinalarni ularning egalari ismlari bo’yicha alifbo tartibida joylashtiring.
Natija:
#include

#include

using namespace std;

struct table

{

int t;


string FIO;

};

int q=0;



void qs(table *a,int first,int last)

{

int i = first, j = last;table x =a[(first + last) / 2];



do

{

while (a[i].FIO < x.FIO) i++;



while (a[j].FIO > x.FIO) j--;

if(i <= j)

{

if (i < j){swap(a[i], a[j]);q++;}



i++;

j--;


}

}


while (i <= j);

if (i < last)

qs(a,i,last);

if (first < j)

qs(a,first,j);

}
int main()

{

int n;cout<<"n=";cin>>n;



table talaba[n];

for(int i=0;i

{

cin>>talaba[i].FIO;



}

cout<

qs(talaba,0,n-1);

for(int i=0;i

cout<

}

Faqat kichik lotin harflaridan iborat so'z berilgan. Ushbu so'z palindrom ekanligini tekshiruvchi rekursiv funksiya hosil qiling.


Natija:
#include

#include

using namespace std;

bool polindrom(const string& s,int low, int high)

{

if(high <= low)



return true;

else if(s[low] != s[high])

return false;

else


return polindrom(s, low+1, high-1);

}

bool polindrom(const string& s)



{

return polindrom(s, 0, s.size()-1);

}
int main()

{

cout<<"Satrni kiriting: ";



string s;

getline(cin, s);

cout<

if(polindrom(s))

cout<

else


cout<return 0;

}

Haqiqiy sonlar to'plamini xotiraga yozish va chop etish uchun stack shablonidan foydalaning.
Natija:
#include

#include

using namespace std;

int main()

{ stack stek;

stek.push(10);

stek.push(5);

stek.push(6);

stek.push(1);

stek.push(9);


while(!stek.empty())

{

cout<

stek.pop();

}

}



Turtburchak” nomli sinf hosil qiling. XOY sonlar o’qiga parallel ravishda kiritiluvchi (x1,y1), (x2,y2),(x3,y3),(x4,y4) nuqtalar to’plamini sinf elementi sifatida e’lon qiling. (x1`,y1`), (x2`,y2`),(x3`,y3`),(x4`,y4`) kiritiluvchi yangi qiymatlar uchun, ushbu nuqtalarni birlashtirishdan hosil bo’lgan to’rtburchak dastlabki to’rtburchak bilan kesishish yoki yo’qligini aniqlovchi sinf funksiyasi yarating.

Natija:
#include

using namespace std;


class turtburchak

{

private:



float x1,x4,y1,y4;

float x11,x44,y11,y44;


public:

turtburchak(float ax1,float ax11,float ay1,float ay11,float ax4,float ax44,float ay4,float ay44)

{

setKord(ax1,ax11,ay1,ay11,ax4,ax44,ay4,ay44);



}

void setKord(float ax1,float ax11,float ay1,float ay11,float ax4,float ax44,float ay4,float ay44)

{
x1=ax1;

x11=ax11;

y1=ay1;

y11=ay11;

x4=ax4;

x44=ax44;

y4=ay4;

y44=ay44;

}

void getTurtburchak()



{

if(((x11>=x1 && x11y4))&&((x44>x1 && x44<=x4)&&(y44>=y4 && y44

{

if((x11=x1 && x4==x44)&&(y11==y1 && y44==y4))



cout<<"Bir chiziqda yotadi";

else


cout<<"To'rtburchak ichida yotadi "<}

else



cout<<"To'rtburchak ichida yotmaydi "<}

};

int main()



{

cout<

<
<
<
<cout<<"x3,y3 x4,y4"<

float ax1,ax11,ay1,ay11,ax4,ax44,ay4,ay44;

cout<<"kordinatalarni kiriting (x1:y1 va x4:y4): "<

cin>>ax1>>ay1>>ax4>>ay4;

cout<<"2-kordinatalarni kiriting (x1':y1' va x4':y4'): "<

cin>>ax11>>ay11>>ax44>>ay44;
turtburchak obj(ax1,ax11,ay1,ay11,ax4,ax44,ay4,ay44);
obj.getTurtburchak();

}

Futbol jamoasining asosiy va zahira tarkibi o’yinchilari familiyalaridan tashkil topgan ikkita ro’yhat berilgan. K ta o’yinchi almashtirilsin.


Natija:

#include

#include

#include

using namespace std;

int main()

{

cout<<"****Asosiy tarkib****"<

QList Tarkib;

Tarkib << "0 Buffon"<<"1 Bonucci"<<"2 Cheileni"<<"3 Deligt"<<"4 Cansello"<<"5 Pjanic"<<"6 Khidera"<<"7 Cuadrado"<<"8 Dybala"<<"9 Ronaldo"<<"10 Higuain";

QListZaxira;

Zaxira << "0 Bernardiske"<<"1 Szczesny"<<"2 EmreCan"<<"3 Bentancur"<<"4 Kean"<<"5 Duglas Costa";

foreach (QString t, Tarkib)

{

qDebug() << t;



}

cout<

foreach (QString z, Zaxira)

{

qDebug() << z;



}

int n,a,b;

cout<<"_______________________________"<

cout<<"Nechta o'yinchi almashtiriladi: ";

cin>>n;

for(int i=0;i

{

cout<<"Chiqadigan fudbolchi raqam buyicha: ";cin>>a;



cout<<"Kiradigan fudbolchi raqam buyicha: "; cin>>b;

swap(Tarkib[a],Zaxira[b]);

}

cout<

foreach (QString t, Tarkib)

{

qDebug() << t;



}
}

2 ta ro’yhatning bir xil qiymatli elementlarini ro’yhat oxiriga joylashtiring.

#include

#include

#include

#include

using namespace std;

int main()

{

QListList1;



QListList2;

List1<<4<<38<<2<<7<<77<<1<<10<<6;

List2<<1<<42<<12<<4<<10<<9<<38<<11;

cout<<"List 1: ";qDebug()<

cout<<"List 2: ";qDebug()<for(int i=0;i<8;++i){

for(int j=0;j<8;++j)

{

if(List2.at(j)==List1.at(i))



{

List1.move(i,7);

List2.move(j,7);

}
}}


cout<cout<<"------------------------------------------";

cout<

cout<

qDebug()<

qDebug()<
}

Berilgan so’zning unli harflarini dekning chap tomonidan, undoshlarini o’ng tomondan kiriting.

#include

#include

#include

using namespace std;

int main()

{

deque mydeque(1,'|'); //dek elementi: "|"



string suz;

cout<<"Suz kiriting: ";

getline(cin,suz);

int a=suz.size();

for(int i=0;i

{

if(suz.at(i)=='a'||suz.at(i)=='e'||suz.at(i)=='i'||suz.at(i)=='o'||suz.at(i)=='u')



mydeque.push_front(suz.at(i));

else


mydeque.push_back(suz.at(i));

}
cout << "Dekda: ";

for (deque::iterator it = mydeque.begin(); it != mydeque.end(); ++it)

cout <<' '<< *it;

cout <

return 0;

}

Binar daraxtning barcha barglari yozuvini chop etuvchi dastur ishlab chiqing.



#include

#include

using namespace std;

class node

{

public: int info;



node *left;

node *right;

};

int k=0,Flag=1;



int height(node *tree)

{

int h1,h2;



if (tree==NULL) return (-1);

else


{

h1 = height(tree->left);

h2 = height(tree->right);

if (h1>h2) return (1 + h1);

else return (1 + h2);

}

}



void vizual(node *tree,int l)

{

int i;



if(tree!=NULL)

{

vizual(tree->right,l+1);



for (i=1; i<=l; i++) cout<<" ";

cout<info<left,l+1);

}

}

int main()



{

int n,s;


node *tree=NULL,

*next=NULL;

cout<<"Daraxt elementlari soni: ";

cin>>n;


for(int i=0; i{

node *p=new node;



node *last=new node;

cin>>s;


p->info=s;

p->left=NULL;

p->right=NULL;

if(i==0)


{

tree=p; next=tree; continue;

}

next=tree;



while(1)

{

last=next;



if(p->infoinfo)next=next->left;

else next=next->right;

if(next==NULL)break;

}

if(p->infoinfo)last->left=p;



else last->right=p;

}

cout<

cout<<"\nBinar daraxt:\n";

vizual(tree,0);

cout<

getch();


}

Quyidagi graflar uchun (graf uchlari va qirralari) qiymatlarini hamda graf uchlarining qo’shnilik matritsasini tuzib, ekranda chop eting. Kiritilgan ikkita graf uchlari orasidagi eng qisqa masofani aniqlovchi dastur tuzing:




#include

using namespace std;

int n,x,gr[100][100],x1,x2,len[100];

map >mp;

vectorvec;

vectorgraph[100];

bool used[100];

void print(int val)

{

int k = val,l = 3;



if(k == 0)k = 1;

while(k)


{

l--;


k /= 10;

}

cout << val;



while(l--)cout << " ";

}

void dfs(int v)



{

used[v] = true;

for(int i = 0; i < graph[v].size(); i++)

{

{



if(len[graph[v][i]] > len[v] + gr[v][graph[v][i]])

{

len[graph[v][i]] = len[v] + gr[v][graph[v][i]];



dfs(graph[v][i]);

}

}



}

}

int main ()



{

for(int i = 0; i < 100; i++)

{

len[i] = 1000000;



used[i] = false;

}

cout << "Shaharlar sonini kiriting: ";



cin >> n;

for(int i = 0; i < n; i++)

{

for(int j = i + 1; j < n; j++)



{

cout << i + 1 << " dan " << j + 1 << " gacha bo'lgan masofani kiriting: ";

cin >> x;

gr[i][j] = x;

gr[j][i] = x;

graph[i].push_back(j);

graph[j].push_back(i);

}

gr[i][i] = 0;



}

cout<

for(int i = 0; i < n; i++)

{

for(int j = 0; j < n; j++)



{

print(gr[i][j]);

}

cout << "\n";



}

cout <

X1:cin >> x1; if(x1>n){cout<<"Shaxar xato kiritildi, qayta kiriting: " ;goto X1;}

cout << "Ikkinchi shahar raqamini kiriting: ";

X2:cin >> x2;if(x2>n){cout<<"Shaxar xato kiritildi, qayta kiriting: " ; goto X2;}

len[x1 - 1] = 0;

dfs(x1 - 1);

cout << x1 << " va " << x2 << " shaharlar orasidagi eng qisqa masofa: ";



cout << len[x2 - 1];

}

Download 1,69 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   52




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish