Hi,
I have 2 arrays one is with file widths and other with file names. my problem is i have to compare all width elements in array and group them. for example array looks like {13.1,23,27.7,14.5,13.9,23.9,14.6}, now i have to group this based on elements like { {13.1,13.9},{14.5,14.6},{23,23.9},27.7}}. after that base for each group will be max element, {{13.9,13.9},{14.6,14.6},{23.9,23.9},27.7}}. now i have to check one group with other if difference is less than 2, then make max element aas base. i.e {{14.6,14.6,14.6,14.6},{23.9,23.9},27.7}} bcos 14.6-13.9 = 0.7 which is less than 2. like that i have to loop all till end.
please help me in this. Thanks in advance.
sarath phaniPosted Feb 10, 2009, 6:06 AM
finally i achived.. :-)
private void button1_Click(object sender, EventArgs e)
{
double value = 0, comp_val = 0;
double[] dbl_array;
double[] resize_array;
int first = 0, temp = 0, comp = 0;
//dbl_array = new double[] { 13.1, 23.3, 23.7, 13.9, 18, 35, 97, 42, 13, 27, 15.5, 43.2, 25.3, 26.7, 45, 76, 24, 23,21.1,42.1,99.9,98.3,13.2,28.9 };
//dbl_array = new double[] { 18, 31.5, 39, 15, 29.5, 15, 15.0,31.5,13,15,29.5,38.5,31.5,39.0 };
dbl_array = new double[] {14.9,27.2,39,15,24.9,15.9,13,15,29.5,38.5,31.5,39};
resize_array =new double[dbl_array.Length];
for (first = 0; first < dbl_array.Length;first++)
{
value = dbl_array[first];
for (temp = 0; temp < dbl_array.Length - 1; temp++)
{
for (comp = -1; comp < dbl_array.Length - 1; comp++)
{
comp_val = value - dbl_array[comp + 1];
if (comp_val < 0)
comp_val = dbl_array[comp + 1] - value;
if (comp_val < 2)
{
if (value > dbl_array[comp + 1])
{
if (resize_array[first] < value)
{
resize_array[first] = value;
}
}
else
{
if (resize_array[first] < dbl_array[comp + 1])
{
resize_array[first] = dbl_array[comp + 1];
value = dbl_array[comp + 1];
}
}
}
else
{
if (first <= dbl_array.Length - 2)
{
if (resize_array[first] < dbl_array[first])
{
resize_array[first] = dbl_array[first];
}
resize_array[first + 1] = dbl_array[first + 1];
}
}
}
}
}
}