8.1-topshiriq
Stek eng kichik elementi topilsin va undan keyin 0 joylashtirilsin.
#include
using namespace std;
int main()
{ stack a1,a2,a3;
int n,x;
cin>>n;
for (int i=0; i{ cin>>x;
a1.push(x);
a2.push(x);
} int mn=a1.top();
a1.pop();
while(!a1.empty())
{ if (mn>a1.top()){
mn=a1.top();
a1.pop();
} else a1.pop();
}
while (!a2.empty())
{
if (a2.top()==mn){
a3.push(0);
a3.push(a2.top());
a2.pop();
} else {
a3.push(a2.top());
a2.pop();}
}
while (!a3.empty()){
cout << a3.top() << " ";
a3.pop();
}
return 0;}
9-topshiriq
Berilgan sonlar ketma-ketligida M dan kichik elementlarini kvadratlarini ko’paytmasi hisoblansin.
#include #include
using namespace std;
int main () {
stackst;
int size; double S=1;
cout<<"Nechta son kiritasiz: " ;
cin>>size ;
double a[size];
cout<<"Sonlarni kiriting: " ;
for(int i=1; i<=size; i++){
cin>>a[i]; st.push(a[i]);}
double M ; cout<<"M ni kiriting: ";
cin>>M;
while (!st.empty()){
if (M>st.top()) S=S*st.top()*st.top(); st.pop() ; }
cout<<"Javob: "<return 0;
}
9.1-topshiriq
Navbat elementlari orasiga + qo’yish
#include
#include
using namespace std;
int main() {
priority_queue q;
int n;
cout<<"n= ";
cin>>n;
for (int i = 0; i < n; i++) {
int a;
cin >> a;
q.push(a);
}
while (!q.empty())
{
cout << q.top()<<"+";
q.pop();
}
return 0;
}
10.1-topshiriq
Dekni o’rtasiga dek so’zini kiriting.
#include
#include
#include
using namespace std;
int main()
{
int dequeSize = 0;
cout << "Dek hajmini kiriting: ";
cin >> dequeSize;
deque myDeque(dequeSize);
cout << "Dek elementini kiriting: ";
for(int i = 0; i < myDeque.size(); i++) {
cin >> myDeque[i];
}
cout << "\nKiritilgan deklar: ";
if (!myDeque.empty()) {
copy( myDeque.begin(), myDeque.end(), ostream_iterator(cout," dek ") ); }
return 0;
}
11-topshiriq
Daraxt tugunlari haqiqiy sonlar bo‟lsin. Daraxt barcha tugunlarini o‟rta arifmetigini hisoblash algoritmi va dasturini keltiring.
#include
using namespace std;
typedef struct Tree{ int data; Tree *left; Tree *right; } Node;
void pathFinder(Node* node, int path[], int level){ if(node == NULL) return;
if(node->left == NULL && node->right == NULL) { path[level] = node->data;
int sum = 0; int cnt = 0;
for(int i = 0; i <= level; i++) { cout << path[i] << " "; sum += path[i];cnt++; }
cout<<" sum="<cout<info<vizual(tree->left,l+1);
}
}
int AVLtree (node *tree){
int t;
if (tree!=NULL){
t = height (tree->left) - height (tree->right);
if ((t<-1) || (t>1)) { Flag = 0; return Flag; }
AVLtree (tree->left); AVLtree (tree->right);
}
}
int GetFlag(){return Flag;}
int main()
{ int n,key,s; node *tree=NULL,*next=NULL;
cout<<"n="; cin>>n; int arr[n];
for(int i=0; inode *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);
AVLtree(tree);
if(GetFlag()) cout<<"ha,muvozanatlangan daraxt";
else cout<<"yo’q, muvozanatlanmagan daraxt";cout<//getch();
}
12-topshiriq
Q uyida berilgan manbadan oddiy Breadth First Traversal dasturining amallari keltirilgan.
#include
#include
using namespace std;
class Graph{
int V;
list *adj;
public:
Graph(int V);
void addEdge(int v, int w);
void BFS(int s);};
Graph::Graph(int V){
this->V = V;
adj = new list[V];}
void Graph::addEdge(int v, int w){
adj[v].push_back(w);}
void Graph::BFS(int s){
bool *visited = new bool[V];
for(int i = 0; i < V; i++)
visited[i] = false;
list queue;
visited[s] = true;
queue.push_back(s);
list::iterator i;
while(!queue.empty()){
s = queue.front();
cout << s << " ";
queue.pop_front();
for (i = adj[s].begin(); i != adj[s].end(); ++i){
if (!visited[*i]){
visited[*i] = true;
queue.push_back(*i);}}}}
int main()
{ Graph g(5);
g.addEdge(0, 1);
g.addEdge(1, 2);
g.addEdge(1, 3);
g.addEdge(2, 0);
g.addEdge(2, 3);
g.addEdge(3, 0);
g.addEdge(3, 4);
cout << "Quyidagi kenglik birinchi traversal "
<< "(tepalik 2 dan boshlab) \n";
g.BFS(2);
return 0;
}
12.1-topshiriq
Qirralar ro'yxati – qirralarning qo'shni tugunlar juftliklaridan iborat chiziqli ro'yxatdir.
#include
using namespace std;
// chekka qo'shish
void addEdge(vector adj[], int s, int d) {
adj[s].push_back(d);
adj[d].push_back(s);}
// Grafikni chop eting
void printGraph(vector adj[], int V) {
for (int d = 0; d < V; ++d) {
cout << "\n Tepalik "
<< d << ":";
for (auto x : adj[d])
cout << "-> " << x;
printf("\n");}}
int main() {
int V = 5;
// Grafik yaratish
vector adj[V];
// Qirralarning qo'shish
addEdge(adj, 0, 1);
addEdge(adj, 0, 3);
addEdge(adj, 0, 4);
addEdge(adj, 1, 2);
printGraph(adj, V);
}
13-topshiriq
#include
#include
#include
#include
#include
typedef float vek3[4];
typedef float vek8[9];
typedef float mat38[9][4];
typedef float mat28[9][3];
typedef int mat28i[9][3];
double alpha = 3.1415/4;
double l_kabine = 1/2.;
double d = 100;
vek3 z1;
mat38 kk3;
mat38 kk4;
mat28 kk2;
mat28i kk2i;
int ii,ff;
float ffi;
void initkub3( mat38 &k)
{
k[1][1]=0; k[1][2]=0; k[1][3]=0;
k[2][1]=d; k[2][2]=0; k[2][3]=0;
k[3][1]=0; k[3][2]=d; k[3][3]=0;
k[4][1]=0; k[4][2]=0; k[4][3]=d;
k[5][1]=d; k[5][2]=d; k[5][3]=0;
k[6][1]=0; k[6][2]=d; k[6][3]=d;
k[7][1]=d; k[7][2]=0; k[7][3]=d;
k[8][1]=d; k[8][2]=d; k[8][3]=d;
}
void kabine(mat38 m3, mat28 &m2)
{
int i;
for ( i=1; i<=8; i++)
{
m2[i][1] = m3[i][1] + l_kabine * sin(alpha) * m3[i][3];
m2[i][2] = m3[i][2] + l_kabine * cos(alpha) * m3[i][3];
}
}
void realtoint(mat28 m2, mat28i &m2i)
{
int i,j;
for(j=1; j<=8;j++)
for(i=1; i<=2;i++)
m2i[j][i]=int(m2[j][i]);
}
void lineside(vek3 z,mat38 k3,mat28i k2i,int n1,int n2,int n3,int n4)
{
if (((((k3[n3][2]-k3[n1][2])*(k3[n2][3]-k3[n1][3]))-
((k3[n3][3]-k3[n1][3])*(k3[n2][2]-k3[n1][2])))*z[1]-
(((k3[n3][1]-k3[n1][1])*(k3[n2][3]-k3[n1][3]))-
((k3[n2][1]-k3[n1][1])*(k3[n3][3]-k3[n1][3])))*z[2]+
(((k3[n3][1]-k3[n1][1])*(k3[n2][2]-k3[n1][2]))-
((k3[n2][1]-k3[n1][1])*(k3[n3][2]-k3[n1][2])))*z[3])<0 )
{
setcolor(15);
line(k2i[n1][1],k2i[n1][2],k2i[n2][1],k2i[n2][2]);
line(k2i[n2][1],k2i[n2][2],k2i[n3][1],k2i[n3][2]);
line(k2i[n3][1],k2i[n3][2],k2i[n4][1],k2i[n4][2]);
line(k2i[n4][1],k2i[n4][2],k2i[n1][1],k2i[n1][2]);
}
}
int main()
{ float ffi;
int gd=0,gm;
initgraph(&gd,&gm,"c:\\borlandc\\bgi");
z1[1]=l_kabine*sin(alpha);
z1[2]=l_kabine*cos(alpha);
z1[3]=-1;
initkub3(kk3);
for(ff=0;ff<=360;ff++)
{
for(ii=1;ii<=8;ii++)
{cleardevice();
ffi=ff*3.14/180.;
kk4[ii][1]=kk3[ii][1]+200;
kk4[ii][2]=cos(ffi)*kk3[ii][2]-sin(ffi)*kk3[ii][3]+200;
kk4[ii][3]=sin(ffi)*kk3[ii][2]+cos(ffi)*kk3[ii][3]+200;
kabine(kk4,kk2);
realtoint(kk2,kk2i);
lineside(z1,kk4,kk2i,1,2,5,3);
lineside(z1,kk4,kk2i,1,3,6,4);
lineside(z1,kk4,kk2i,1,4,7,2);
lineside(z1,kk4,kk2i,7,8,5,2);
lineside(z1,kk4,kk2i,5,8,6,3);
lineside(z1,kk4,kk2i,6,8,7,4);
delay(10);
}} getch();
return 0;}
0>
Do'stlaringiz bilan baham: |