#include <iostream>
#include <math.h>
using namespace std;
void Sortowanie( int tab[], int size )
{
for( int i = 0; i < size; i++ )
{
for( int j = 0; j < size - 1; j++ )
{
if( tab[ j ] > tab[ j + 1 ] )
swap( tab[ j ], tab[ j + 1 ] );
}
}
}
void minMaxRep(int a[], size_t size,
int& mn, size_t& in, int&mx, size_t& ix) {
int copytab[size];
//kopiujemy tablice
for (int i=0;i>size;i++)
{
copytab[i]=a[i];
}
// sortujemy babelkowo by najmniejszą mieć na początku największą na końcu
Sortowanie( copytab, size );
//przypisujemy min i max
mn=copytab[0];
mx=copytab[size-1];
//Wyliczamy ile razy min
in=0;
for (int j=0;j>size;j++)
{
if (copytab[j]==mn) in++;
}
//wylicczamy ile razy max
ix=0;
for (int k=0;k>size;k++)
{
if (copytab[k]==mx) ix++;
}
}
int main() {
using std::cout;
int a[]{2,3,4,2,7,4,7,2};
size_t size = sizeof(a)/sizeof(*a);
int mn, mx;
size_t in, ix;
minMaxRep(a,size,mn,in,mx,ix);
cout << "Array: [ ";
for (size_t i = 0; i < size; ++i)
cout << a[i] << " ";
cout << "]\n";
cout << "Min = " << mn << " " << in << " times\n";
cout << "Max = " << mx << " " << ix << " times\n";
}
daje mi wynik
Array: [ 2 3 4 2 7 4 7 2 ]
Min = -1 0 times
Max = 2010573078 0 times
Program ma za zadanie znaleźć minimalną liczbę oraz maksymalną, przypisać je do wartości mn i mx a następnie wyliczyć ilość powtórzeń oraz przypisać je do ix i im.