Witam,
program przy małej liczbie losowań działa ok, przy większej pada. konkretniej dla więcej niż 5 losowań losuje i wiesza, dla więcej niż 15 już nawet nie losuje
#include <stdio.h>
#include <stdlib.h>
int* losuj(int a, int b)
{
int i,j,temp,blad;
int* tab=(int*)malloc(sizeof(tab));
for (i=0; i<b; i++)
{
do
{
blad=0;
temp=rand()%a+1;
for (j=0; j<i; j++)
if (tab[j]==temp)
blad=1;
}
while (blad);
tab[ i ]=temp;
}
return tab;
}
int compare(const void *a, const void *b)
{
return ( *(int*)a - *(int*)b );
}
int main(int argc, char** argv)
{
int i;
int *tab;
srand(time(0));
tab=losuj(atoi(argv[1]),atoi(argv[2]));
qsort(tab,atoi(argv[2]),sizeof(int),compare);
for(i=0; i<atoi(argv[2]); i++)
printf("%d\n",tab[i]);
free(tab);
return 0;
}