, , , :
#define TOP 2147483647
#define true 1
#define false 0
void Vector_Min_Not_0(vector *vec, int *min, int *index)
{
int m, size, i, ind, aux;
size = vec->size;
m = TOP;
ind = -1;
for (i = 0; i < size; i++)
if (vec->p[i] != 0)
if (m > (aux = abs(vec->p[i]))) {
ind = i;
m = aux;
}
if (ind == -1)
*min = 1;
else
*min = m;
*index = ind;
}
, :
typedef struct vector {
int size;
int *p;
} vector;
vector vec_A;
int min, index, *p;
Vector_Min_Not_0(&vec_A, &min, &index);