/*Program sortujacy rosnaco metoda przez wybieranie ciagu losowych liczb*/
#include <stdio.h>
#include <math.h>
#define MAX 15
int losuj(int t[], int n)
{
int i;
srand( time( NULL ) );
for(i=0; i<n; i++)
{
t[i]=rand();
};
return i;};
int wypisz(int t[], int n)
{
int i;
for(i=0; i<n; i++)
{
printf("%i ",t[i]);
};
printf("\n");
return i;
};
int sortuj(int t[], int n)
{
int i,ind_min,j,swap;
int lp=0;
int lk=0;
for(j=0; j<MAX-1; j++)
{
lp++;
ind_min=j;
for(i=j;i<MAX;i++)
if (t[i]<t[ind_min])
ind_min=i;
swap=t[j];
t[j]=t[ind_min];
t[ind_min]=swap;
lk++;
}
printf("Liczba powtorzen dla porownan wynosi %i, dla kopiowan %i\n",lp,lk);
return 0;
}
int main(int argc, char **argv)
{
int tab[MAX];
losuj(tab,MAX);
printf("Dane liczby:");
wypisz(tab,MAX);
sortuj(tab,MAX);
printf("Rosnaco:");
wypisz(tab,MAX);
return 0;
}
Czy mój kod poprawnie liczy porówania i kopiowania? Jest to sortowanie przez wybieranie.