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];
}
Do'stlaringiz bilan baham: |