Wyliczanie minimum i maximum oraz ilość powtórzeń

0
#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.

1

Trochę ciężko aby ta pętla się wykonała chociaż raz:

for (int i = 0; i > size; i++)

Gdy i = 0 to nigdy nie będzie większe niż size.

Ten sam problem występuje we wszystkich pętlach oprócz tej w main().

0
atmal napisał(a):

Trochę ciężko aby ta pętla się wykonała chociaż raz:

for (int i = 0; i > size; i++)

Gdy i = 0 to nigdy nie będzie większe niż size.

Ten sam problem występuje we wszystkich pętlach oprócz tej w main().

Dzięki wielki =D
Ps Postaram się w przyszłości dokładniej opisywać i bardziej składniowo ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1