wskaźniki, wypisanie najmniejszego wylosowanego elementu wektora(tablicy).

0

Witam
Mam problem odnośnie C, mianowicie chodzi o znalezienie najmniejszego elementu wektora(tablicy), której wielkość ustawiamy dynamicznie za pomocą calloc a elementy są wylosowane z przedziału [x,y]. Wydaje mi się że Coś robię źle w funkcji minimum, jednak już nie mam pomysłów co dokładnie. Bardzo proszę o pomoc.
Edit: Trochę pozmieniałem kod teraz niestety jest tak że program pisze że minimum jest wartość która została wylosowana jako ostatnia.

#include <stdlib.h>
#include <stdio.h>

#include <time.h>


//////////////////////////////////////////pobierz
int *pobierz(int a, int b, int c)
{
int i;
int *wektor;
srand((unsigned int) time(0));
wektor = (int *)calloc(c, sizeof(int));
printf("Wartosc wektora z przedziału: [%d,%d]\n",a,b);

for(i=0; i<c; ++i)
{
 *wektor=a+(rand() % (b-a+1));
printf("%d\t", *wektor);
}
putchar('\n');

printf("adresy wektora:\n");	
for (i=0; i<c;++i)
{
printf("%p\t", wektor);
}
putchar('\n');

return wektor;
}
//////////////////////////////////////////minimum
void minimum(int *wektor, int roz)
{
int i;
int *min;
min = wektor;
for(i=0; i<roz; ++i)
{
if (wektor < min)
min=wektor;
}
printf("Min = %d\n", *min);
}

//////////////////////////////////////////main
int main()
{
int *vect, x, y, n;
printf("Podaj wielkosc wektora\n");
scanf("%d", &n);
putchar('\n');
printf("Podaj przedzial wektora\n");
scanf("%d%d",&x, &y);
vect = pobierz(x,y,n);
minimum(vect, n);
return 0;

}
0

Sformatuj kod i wstaw w odpowiedni sposob to wtedy moze ktos spojrzy na to.

1
void minimum(int *wektor, int roz)
{
    int min, i;
    if (roz<1)
        return;
    min = wektor[0];
    for (i=1; i<roz; i++)
        if (wektor[i] < min)
            min = wektor[i];
    printf("Min = %d\n", min);
}
0

Azarien, dziękuje za pomoc:)

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