Тема: Кількість
#include "StdAfx.h"
#include<conio.h>
#include <iostream>
#include <string>
#include<clocale>
using namespace std;
int kol(const int*M,const int size,int c)
{int k=0;
for(int i=0;i<size;i++)
{
if(M[i]>c)
k++;
}
return k;
}
int product(const int*M,const int size)
{int p=1, max=0,i_max=0;
for(int i=0;i<size;i++)
{
if(max<abs(M[i]))
{
max=abs(M[i]);
i_max=i;
}
}
for(int i=i_max+1;i<size;i++)
{
p=p*M[i];
}
return p;
}
void myFunction( int*M,const int n)
{
int neg_k=0,poz_k=0;
int *m_neg;
int *m_poz;
//int *M;
//int n=10;
m_neg=new int [n];
m_poz=new int [n];
int i,k,l;
for( i=0,k=0,l=0;i<n;i++)
{
if(M[i]<0)
{
m_neg[k]=M[i];
neg_k++;
k++;
}
else
{
m_poz[l]=M[i];
poz_k++;
l++;
}
}
for( k=0;k<neg_k;k++)
{
M[k]=m_neg[k];
}
for( i=0;i<poz_k;i++)
{
M[k]=m_poz[i];
k++;
}
}
int main ()
{
int n,c,kk=0;
int pp=1,max=0,i_max=0;
// int neg_k=0,poz_k=0;
int *mas;
//int *m_neg;
//int *m_poz;
int k,l,koli=1;
char y='y';
setlocale(LC_ALL,"Russian");
do
{
cout<<endl<<koli<<"-й запус програми"<<endl;
cout<<"Введите размерность масива "<<endl;
cin>>n;
koli++;
if(n<=0)
cout<<"не коректная длина"<<endl;
else
{
mas=new int [n];
cout<<"Введите элементы масива "<<endl;
for(int i=0;i<n;i++)
cin>>mas[i];
for(int i=0;i<n;i++)
cout<<mas[i]<<" ";
cout<<endl;
cout<<"Введите с="<<endl;
cin>>c;
cout<<"C="<<c<<endl;
kk=kol(mas,n,c);
cout<<"Количество элементов больше с="<<kk<<endl;
pp=product(mas,n);
cout<<"произведение элементов масива после мах= "<<pp<<endl;
//koli++;
myFunction(mas,n);
cout<<endl;
for(int i=0;i<n;i++) cout<<mas[i]<<" ";
cout<<"хотите продолжить y/n"<<endl;
cin>>y;
}
}
while(y=='y');
cout<<"Конец"<<endl;
getch();
return 0;
}
рахує добуток елментів після мак але якщо максимальний стоїть отсанім вводить одиницю як цього позбутись