921-21-guruh talabasi Quramboyeva Shaxzoda 8-Tajriba ishi Mavzu: Saralash Algoritimlari 1. Berilgan sonlar ketma-ketligida toq qiymatli elementlarini o’rtacha qiymati hisoblansin. #include #include using namespace std;
void toq_orta(stacka){
int k=0,j=0; double d;
while(!a.empty()){
if (a.top()%2==1){
k+=a.top(); j++;
}
a.pop();
}
d = k*1.0/j;
cout<<"Toq qiymatli elementlar o'rtacha qiymati: "<}
int main (){
stacka;
int n; cin>>n;
for (int i=1; i<=n; i++){
int k; cin>>k;
a.push(k);
}
toq_orta(a);
}
1. Berilgan sonlar ketma-ketligida sonlarni M dan katta elementlari yigindisi hisoblansin.
Stack:
#include
#include using namespace std;
stack a;
int main()
{
int n,k;
cin>>n;
for(int i=0; i {
cin>>k;
a.push(k);
}
int M,S=0;
cout<<"M ni kiriting:\n>>> ";
cin>>M;
while(!a.empty())
{
if(a.top()>M){
S+=a.top();
}
a.pop();
}
cout<}
1. Berilgan sonlar ketma-ketligida barcha elementlari shu sonlarni eng kichik elementiga bo’lib chiqilsin.
#include #include using namespace std;
class my_stack : public std::stack< char > {
public:
using std::stack::c;
};
int main() {
my_stack st;
int n,k;
cin>>n;
for(int i=0; i {
cin>>k;
st.push(k);
}
int minn,q;
minn=st.c[0];
for(int i=0; i{
if(minn>st.c[i]){
minn=st.c[i];
}
q=st.c[i]/minn;
cout< }
}
1. Berilgan sonlar ketma-ketligida elementlarini kvadratlari yigindisi va o’rtacha qiymati hisoblansin
#include #include #include using namespace std;
void kvadrat_yigindi(stacka){
int s = 0;
while (!a.empty()){
s+=a.top()*a.top();
a.pop();
}
cout<<"Elementlarni kvadrat yig'indisi: "<void orta_qiymat(stacka){
int d=0; double k=0,g;
while (!a.empty()){
d+=a.top(); k++;
a.pop();
g = d/k;
}
cout<<"Elementlarni o'rtacha qiymati: "<}
int main (){
int n; cout<<"n="; cin>>n;
stacka;
for (int i=0; iint k; cin>>k;
a.push(k);
}
kvadrat_yigindi(a);
orta_qiymat(a);
}
1. Berilgan sonlar ketma-ketligida toq qiymatli elementlarining yig’indisi juft qitmatli elementlari yigindisiga bo’lib chiqilsin. #include #include using namespace std;
double toq(stacka){
int s=0;
while(!a.empty()){
if (a.top()%2==1){
s+=a.top();
}
a.pop();
}
return s; }
double juft(stacka){
int h=0;
while(!a.empty()){
if (a.top()%2==0){
h+=a.top();
}
a.pop();
}
return h; }
int main (){
int n; cin>>n;
stacka;
double j;
for (int i=1; i<=n; i++){
int k; cin>>k;
a.push(k);
}
j = toq(a)*1.0/juft(a);
cout<}