Write an algorithm to sort an array of integers
"Write an algorithm to sort an array of integers"
I was asked this at an interview and required to do it in 5 mins. I don't think you can use sort them by putting them in a collection, i think you need to write an algorithm from scartch. Any idea what the best way to do this would have been?
Depends what you mean by "best."
BubbleSort is probably the only one I could write off the top of my head in five minutes, but as sorting routines go for practical use, it sucks. If you know how to write MergeSort or QuickSort or dman near anything off off the top of your head, that would proabably be better.
No one sorting algorithm is "best" without any context, however.
If you don't know any sorting algorithms, use google or your data structures and algorithms textbook.
Similar Messages
-
Sorting an array of integers into ascending order
Today I decided to blow the cobwebs off my old laptop and see what I could remember from my Java days.
As a task for myself to see what I could remember, I decided to try and write a program that does the following:
- Declares an array of 4 integers
- Sorts the array into ascending order, from lowest to highest.
- Prints on screen the sorted array.
After an hour or so I finally cracked it, and ended up with a working program. Here she is:
public class Sorting_arrays_1
public static void main()
int [] array = {4,3,7,1};
//A variable used to help with swopping values
int temporary;
//finds the smallest number out of elements 0, 1, 2, and 3 of the array, then moves it to position 0
for (int count = 0; count<array.length;count++)
int smallestNumber = array[0];
if (array[count] < smallestNumber)
smallestNumber = array[count];
temporary = array[0];
array[0]=array[count];
array[count]=temporary;
//finds the smallest number out of elements 1, 2, and 3 of the array, then moves it to position 1
for (int count = 1; count<array.length;count++)
int smallestNumber = array[1];
if (array[count] < smallestNumber)
smallestNumber = array[count];
temporary = array[1];
array[1]=array[count];
array[count]=temporary;
//finds the smallest number out of elements 2 and 3 of the array, then moves it to position 2
for (int count = 2; count<array.length;count++)
int smallestNumber=array[2];
if (array[count] < smallestNumber)
smallestNumber = array[count];
temporary = array[2];
array[2]=array[count];
array[count]=temporary;
//prints the array in ascending order
for (int count=0; count<array.length;count++)
System.out.print(array[count] + " ");
}Could this code be simplified though? Maybe with a for loop?
I mean, it does the job, but it looks so clumbsy and inefficient... Imagine how much code I would need if I wanted to sort 1000 numbers..Use bubble sort if u want a quick fix
public static void bubbleSort(int [] a)
for(int i=0; i<a.length-1; i++)
for(int j=0; j<a.length-1-i; j++)
if(a[j]>a[j+1])
int temp = a[j];
a[j]=a[j+1];
a[j+1]=temp;
Or use Merge sort if u want better run time... ie.(N log N) -
The time complexity of "Sort 1D Array"
Does anyone know the time complexity of "Sort 1D Array"? The document of this function does not say anything about that, so I write test VI to sort an array of 10000 integer elements. It seems that the excution time is less than 1 second, so I guess the complexity is O(n*logn). Any suggestion would be appreciated, thanks.
A few thoughts based on my recollection of that old coding challenge. There are different kinds of algorithmic approaches you may consider.
1. A simple approach to that challenge could involve a lot of search / lookup functions. Each time you parse a word, you perform a search to see if it's in your list already. If so, increment its count. If not, add it to the list with count=1.
This was far too slow for word counting large docs. Too many slow-ish searches. But pretty easy to implement and maybe good enough for smaller docs.
2. I pursued an approach that used hashing instead of searches. It *seemed* too slow, but some months after the challenge when I had another use for the core hash table functionality, I found a really dumb bug that I'd overlooked before. Fixing it improved the speed by something like 100x. (Missed one spot where I needed a shift register to enforce in-placeness).
This is largely the same approach, merely trying to speed up the lookup/search function via a more complex technique (hash tables). As I found out, the complexity makes it more bug-prone. Still, once fixed, lookup speed is in the order of constant with no clear dependency on the number of elements in the hash table. (Note: it *is* still dependent on the "fill ratio". You want enough memory available to size your table for maybe ~25% usage or less.)
3. One idea I tried out was to maintain a separate list of the 10 or 25 most-common words, sorted by count. (The main reason was that there could be a tie for 4th place at the end, and I wanted enough extra candidates around to get the correct tie-breaker result.) Each time I parsed another word and incremented its count, I'd check to see whether its new count qualified it to belong in the special most-common list. I still did a lot of lookup and sort stuff, but it was always on a very
There are surely other kinds of data structures and algorithms available. Do you have a specific app in mind for this? Or just generally curious? I ask because some of the things one might do to optimize for a specific app (or code challenge) wouldn't be so appropriate as a general-purpose routine.
-Kevin P. -
Best algorithm to sort semi-sorted arrays?
I am trying my hand at the hutter prize (http://prize.hutter1.net/)
My current compression algorithm sorts an array of Comparable Objects every main cycle.
-This array of objects can potentically increase by one object per cycle.
-Each object's comparision value can change per cycle, however its order is mostly kept.
This means that the over all order of the objects are similar between cycles.
Is there an sorting algorithm which can take advantage of the semi-sorted state of the array?
I was using the default Arrays.sort() however it does not seem to make much use of the semi-sorted input array and is too slow for my use.
In order to speed up the sorting i have relaxed the need to be in strict order. I.e there can be some objects out of order.
To this end I have developed a BucketSort which i thought should speed up the sorting however it seems to have the opposite effect!
Is there any reason why this implementation is quite slow? (three times as slow as Array.sort() )
private static int MAX_BUCKET=65535;
private static Word[] buckets=new Word[MAX_BUCKET];
public static void bucketSortReverse (Word[] a, int n)
int i;
int count=1;
int index;
Word curr;
// fill up the buckets with the input words
for (i=0;i<n;i++)
curr=a;
index=(int) (curr.probablility*MAX_BUCKET);
curr.next=buckets[index];
buckets[index]=curr;
// iterate over the buckets and construct the sorted words
for (i=0;i<MAX_BUCKET;i++)
curr=buckets[i];
if (curr!=null)
while (curr!=null)
a[n-count++]=curr;
curr=curr.next;
buckets[i]=null;
NOTE Currently my input Word array contains a maximum of 6000 words.
Lowering the number of bins reduces the accuraccy of the sort and does not provide much increase in speed :(
I have found some Open Source code which by default performs very similarly to Arrays.sort in terms of speed and have modified it to be non-strict in its ordering.
This modified sorting algothim is approximately 15% faster but is still really not fast enough.
By reducing the strict ordering of the sorting algorithm i have also reduced the level of compression. Ultimately i would like to have a fast sorting algothrim which takes into acount semi-sorted objects with out reducing strictness of the sort.
Any ideas?Tree removal takes O(logn) and insertion takes O(logn). Compare this to an array where potentially a large number of elements need to be shifted O(n).
Usually it takes hundreds of thousands of elements to notice a difference. So if your data is relatively small, then it may not be worth trying to optimize it.
test of the parent may need to be performed to determine The balanced binary tree (TreeSet) that comes with the JDK doesn't allow access to the internal structure of the tree, so testing the parent isn't available. Even if it was, it would still take an O(logn) lookup to find the node and get its parent, so it wouldn't be a significant improvement. -
Sort algorithm: how can I sort two arrays according to one
I have two parallel arrays, similar to this:
var array1 = [4, 3, 1, 5, 2];
var array2 = ["four", "three", "one", "five", "two"];
I want to sort the first array, and have the second array follow the same sort as the first. Any advice for a good algorithm would be appreciated.
Rick QuatroHi Rick,
frameexpert wrote:
Technically, there was no correct answer because the problem could be solved in multiple ways,
I don't think you're right about not marking the question as correct just because there are multiple ways of solving it.
People search the forums for solutions and threads that are not marked as correct are somewhat relegated.
It wouldn't hurt to make bduffy232's day or even mark your own solution as correct which is more the less the same as the one on the link from KuddRoww and more the less the way I would have done it but see the difference in the results in the table at the bottom of this post.
I actually think that technically there can be multiple correct answers even though you can only one can be marked.
One other small point if you use the advance editor on the forum you can have you code formatted makes it much easier to read.
Anyway here's my half pence worth on the scripting front.
Your question was how to sort one array according to another, which I understand to mean that you want the originals arrays reordered
Yours and bduffy232's scripts do that properly the others don't. Jongware's first script is easy to fix up this problem by adding to the end of his script.
for (i = 0; i<Math.min(array1.length, array2.length); i++)
array1[i] = array3[i][0];
array2[i] = array3[i][1];
alert(array1+"\r"+array2)
Now in order of appearance
Jongware said:
.. I wonder why this does not work .. Perhaps my logic is flawed?
Hi Jongware
I tried your (2nd) script twice and on both occurrences it crashed my ESTK
From what I understand (not said with much confidence) the flaw in your logic is you are passing your arrays values to be sorted array1[?] and array2[?+1] to the sort function as 'a' and 'b' but and then refer to the array array1[a].
So let's examine a bit of the code
var array1 = [4, 3, 1, 5, 2];
array3.sort (function(a,b) {
var swap, diff = array1[a] - array1[b];
When run this is the equivalent of saying (for the first run of the sort loop)
diff = array1[4] - array1[3]
i.e. diff = 2 - 5
i.e. diff = -3
What you wanted to do was
diff = a - b
= 4 -3
That's the way I see it.
Hi Marc
Change the first two lines of your first script to:
var array1 = [40, 7, 1, 5, 2];
var array2 = ["forty", "seven", "one", "five", "two"];
Then run the script
Now for my offering.
The fancy script
This script is not limited to a specific number of arrays.
after creating the arrays one creates an array of the arrays, specifies the number of the array that one wants to sort by and calls the function.
like this:
sortArraysInSync([a1,a2,a3,a4,a5], 1);
The arrays a1, a2, a3, ..... will get sorted according to the numeric or alphabetical order of the array specified in the 2nd parameter.
One could easily (I think) change the sort function to first sort by array x and then by array y etc.
// Advanced Sort Variable Numbers of Arrays in Sync Script by Trevor
// http://forums.adobe.com/thread/1062126?tstart=0
var a1 = [2, 5, 10, 7, 100, 5, .5, 0]
a2 = ['two', 'five', 'ten', 'seven', 'one hundred', 'five', 'one half', 'zero'],
a3 = [ 'deux', 'cinq', 'dix', 'sept', 'cent', 'cinq', 'un demi', 'zéro' ],
a4 = [ 'twee', 'vijf', 'tien', 'zeven', 'honderd', 'vijf', 'helft', 'nul' ],
a5 = [ 'tsvey ', 'finef', 'tzien', 'zibn', 'eyn honderd', 'finef', 'eyn halb', 'nul' ];
alert("\tIndividual Arrays Before Sort\r"+a1+"\r"+a2+"\r"+a3+"\r"+a4+"\r"+a5);
sortArraysInSync([a1,a2,a3,a4,a5], 1);
alert("\tIndividual Arrays After Sort\r"+a1+"\r"+a2+"\r"+a3+"\r"+a4+"\r"+a5);
function sortArraysInSync (myArrays, s /* number or the array to sort by (starting from 1) */)
arr = []; var l1 = ll1 = myArrays[0].length, i = ll2 = myArrays.length;
s--;
while(l1--)
arr[l1]={}
i = myArrays.length;
while(i--) eval("arr["+l1+"].key"+i+" = myArrays[i][l1]");
arr.sort(mySort);
while (ll1--) for (i=0; i<myArrays.length;i++) eval ("myArrays[i][ll1] = arr[ll1].key"+i);
alert("\tFunction Array After Sort\r"+myArrays.join("\r"))
function mySort(a, b)
if (eval("isNumber(a.key"+s+") || isNumber(b.key"+s+")")) return eval("a.key"+s+"- b.key"+s+"");
else if (eval("a.key"+s+".toLowerCase() > b.key"+s+".toLowerCase()")) return 1 else return -1;
function isNumber(n) {return !isNaN(parseFloat(n)) && isFinite(n)}; // isNumber function from http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric/1830844#1830844
For the simple 2 array sort I would have done as I said much the same as your one:
// Simple Sort Arrays in Sync Script by Trevor
// http://forums.adobe.com/thread/1062126?tstart=0
var a1 = ['two', 'five', 'ten', 'seven', 'one hundred', 'five', 'one half', 'zero'],
a2 = [2, 5, 10, 7, 100, 5, .5, 0]
alert("Individual Arrays Before Sort\r"+a1+"\r"+a2);
sortArraysInSync(a1,a2);
alert("Individual Arrays After Sort\r"+a1+"\r"+a2);
function sortArraysInSync (x, y)
var arr = [], l1 = l2 = Math.min(y.length, x.length);
while (l1--) arr.push({name: x[l1], number: y[l1]});
arr.sort(function(a, b) { return a.number - b.number; });
while (l2--)
x[l2] = arr[l2].name;
y[l2] = arr[l2].number;
I did a speed test by putting 2 3000 item arrays into my, your dbuffies and Jongware script and timing them.
These were the results.
Test done with alerts removed with program set to real time priority and alerts removed.
These were the arrays and timing method
var a1 = ['zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two', 'zero', 'one half', 'five', 'one hundred', 'seven', 'ten', 'five', 'two'],
a2 = [, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2, 0, 0.5, 5, 100, 7, 10, 5, 2];
sdate = new Date();
startTime = sdate.getTime();
sortArraysInSync([a1,a2],2); // each scipt to its own.
edate = new Date();
endTime = edate.getTime();
totalTime = (endTime-startTime)/1000;
alert("Individual Arrays After Sort\r"+totalTime+"\r"+a1+"\r"+a2);
Script
Seconds taken to sort 2 Arrays 3000 items each
Comments
Trevor's Simple Script
1.3
Rick's (Frameexpert) Script
12.3
Trevor's Fancy Script
33
Bduffy's Script
68
Jongware's Script
Crashed, don't know why?
Don't forget to pick the correct answer.
My 'fancy' script is slowed down considerably because of thoses evil evals. Does anyone have a solution for this?
Regards
Trevor -
I need to sort an array of strings based on the number in each string.
Basically, I have a directory of files that all have the same name but each with a different number on the end.
example: image 1.jpg, image 2.jpg, etc.
When I use the List Directory function that returns an array of strings containing the file names in the directory, they don't come out in a 1, 2, 3, order like they appear in the directory. It sorts them character by character so that they come out like: 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22 etc.
Is there a simple way of sorting this array of strings with the file names (as above) so that they are in numerical order?It's a while since this thread was started, but I am sure others will have use for this so here goes:
The in-built array sort function sorts the strings the same way DOS and Windows do. Microsoft has fixed this in the Explorer that comes with XP, however the rest of the OS(s) still sorts the old way.
The attached "AlphaLogical String Array Sort" VIs will sort strings arrays the same way as the new XP Explorer. There are three different implementations of the sorting, one based on the Insertion sort algorithm, a Quick Sort based on recursive calls (the most elegant way, but unfortunately LabVIEW has too much overhead when doing recursive calls so this is actually a very slow alternative) and finally the fastest; a stack based Quick Sort. There is also a test VI that will show you how the different implementations perform.
I had not used recursive calls in LV much until I made the attached quick sort and was a bit disappointed by the fact that it is so slow, but it's a good learning example...The ability to do recursive calls this way was introduced in LV7 I believe...There is an example here on the zone that shows how you can calulate a factorial by using recursive calls, however - unlike for the quick sort (normally) - recursive calls are actually not the optimal solution for that calculation.
Message Edited by Mads on 09-13-2005 02:30 AM
MTO
Attachments:
AlphaLogical Sorting.zip 142 KB -
how can i sort an array by name and also by size
size is an int
name a string
whats the best way
thankyou.Thats my main class code...
as you can see i havent been able to work out the last few options on the menu
which include size and name
if anyone can get me started in the right direction id apreciate it very much thankyou!
import java.util.*;
import java.io.*;
* @author aRiFy
public class SpaceProgram {
static int TotalObjects = 0;
static Scanner sc = new Scanner(System.in);
public static void main(String args[]) throws FileNotFoundException, IOException
menuApp();
//MENU
public static void menuApp() throws FileNotFoundException, IOException
SpaceObject[] Universe = new SpaceObject[1000000];
System.out.println("Welcome to the Universe Program\n\n");
char opt = 'x';
while (opt !='M')
System.out.println(""
+ "A - load from file\n"
+ "B - Display to screen\n"
+ "C - add a new space body\n"
+ "D - Write to file\n"
+ "E - Display by size\n"
+ "F - Display by name\n"
+ "G - Display moons of planet/dwarf planet\n"
+ "H - Display all space bodies in temperature range\n"
+ "I - Display a given space body\n"
+ "J - Display largest space body\n"
+ "K - Display smallest space body\n"
+ "L - Display most distant object\n"
+ "M - Exit Program\n");
System.out.print("Enter your Menu option: ");
String s = sc.next();
opt = s.charAt(0);
switch (opt)
case 'A':
case 'a':
input(Universe);
break;
case 'B':
case'b':
displayToScreen(Universe);
break;
case 'C':
case 'c':
addObject(Universe);
break;
case 'D':
case'd':
addObjectToFile(Universe);
break;
case 'E':
case'e':
sortSize(Universe);
break;
case 'F':
case'f':
sortName(Universe);
break;
case 'G':
case'g':
break;
case 'H':
case'h':
tempRange(Universe);
break;
case 'I':
case'i':
SearchObjects(Universe);
break;
case 'J':
case'j':
findLargest(Universe);
break;
case 'K':
case'k':
findSmallest(Universe);
break;
case 'L':
case'l':
//mostDistant(Universe);
break;
case 'M':
case'm':
System.exit(0);
break;
default:
//msg = "";//wrongValue();
break;
//ENDMENU
//Add Space Object To File
public static SpaceObject[] addObjectToFile(SpaceObject[] Universe ) throws FileNotFoundException, IOException
System.out.println("What is the name of the text file you would like to write to? ");
String textfile = sc.next();
File f =new File(textfile);
if(!f.exists())
f.createNewFile();
System.out.println("File Created");
System.out.print("Add a Star, Planet, Dwarfplanet or Moon? "); //Asks to add
String adding = sc.next();
if (adding.equalsIgnoreCase("star")) //Add Star
String OType="Star";
System.out.println("Enter the name of the Star: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Class O -blue");
System.out.println("Class B -blue white");
System.out.println("Class A -white");
System.out.println("Class F -yellowish white");
System.out.println("Class G -yellow");
System.out.println("Class K -orange");
System.out.println("Class M -red");
System.out.println("Class W -superluminous blue");
System.out.println("Class L -dark red");
System.out.println("Class T -cool brown dwarf");
System.out.println("Class Y -ultra cool brown dwarf");
System.out.println("Class C -carbom star");
System.out.println("Class S -between a class M and carbon star");
System.out.println("Class D -white dwarf");
System.out.println("Enter A Spectral Type: ");
String ST = sc.next();
System.out.println("I -supergiants");
System.out.println("II -bright giants");
System.out.println("III -normal giants");
System.out.println("IV -subgiants");
System.out.println("V -dwarfs");
System.out.println("VI -subdwarfs");
System.out.println("VII -white dwarfs");
System.out.println("Enter Yerkes Spectral Classification: ");
String YSC = sc.next();
System.out.println("Enter the Distance: ");
String Distance = sc.next();
double DistanceD=Double.parseDouble(Distance);
Universe[TotalObjects]= new Star(OType, OName, ORadiusD, ST, YSC, DistanceD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("Star Added");
PrintWriter outputStream = null;
try
outputStream = new PrintWriter(new FileOutputStream(textfile, true));
catch(FileNotFoundException e)
System.out.println("Error opening spacebodies.txt");
System.exit(0);
System.out.println("Writing to file");
outputStream.println(OType);
outputStream.println(OName);
outputStream.println(ORadiusD);
outputStream.println(ST);
outputStream.println(YSC);
outputStream.println(DistanceD);
outputStream.println("\n");
outputStream.close();
System.out.println("Written to file succesfully");
else if (adding.equalsIgnoreCase("planet")) //Add Planet
String OType="Planet";
System.out.println("Enter the name of the Planet: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Enter the Mass: ");
String PMass = sc.next();
System.out.println("Enter the Orbital Period: ");
String POB = sc.next();
double POBD=Double.parseDouble(POB);
System.out.println("Enter the Temperature: ");
String PTemp = sc.next();
double PTempD=Double.parseDouble(PTemp);
Universe[TotalObjects]= new Planet(OType, OName, ORadiusD, PMass, POBD, PTempD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("Planet Added");
PrintWriter outputStream = null;
try
outputStream = new PrintWriter(new FileOutputStream(textfile, true));
catch(FileNotFoundException e)
System.out.println("Error opening spacebodies.txt");
System.exit(0);
System.out.println("Writing to file");
outputStream.println(OType);
outputStream.println(OName);
outputStream.println(ORadiusD);
outputStream.println(PMass);
outputStream.println(POB);
outputStream.println(PTempD);
outputStream.println("\n");
outputStream.close();
System.out.println("Written to file succesfully");
else if (adding.equalsIgnoreCase("dwarfplanet")) //add dwarfplanet
String OType="DwarfPlanet";
System.out.println("Enter the name of the Dwarf Planet: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Enter the Mass: ");
String PMass = sc.next();
System.out.println("Enter the Temperature: ");
String PTemp = sc.next();
double PTempD=Double.parseDouble(PTemp);
Universe[TotalObjects]= new DwarfPlanet(OType, OName, ORadiusD, PMass, PTempD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("DwarfPlanet Added");
PrintWriter outputStream = null;
try
outputStream = new PrintWriter(new FileOutputStream(textfile, true));
catch(FileNotFoundException e)
System.out.println("Error opening spacebodies.txt");
System.exit(0);
System.out.println("Writing to file");
outputStream.println(OType);
outputStream.println(OName);
outputStream.println(ORadiusD);
outputStream.println(PMass);
outputStream.println(PTempD);
outputStream.println("\n");
outputStream.close();
System.out.println("Written to file succesfully");
else if (adding.equalsIgnoreCase("moon"))
String OType="Moon";
System.out.println("Enter the name of the Moon: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Enter the Mass: ");
String MMass = sc.next();
System.out.println("Enter the Planet: ");
String Planet = sc.next();
System.out.println("Enter the Temperature: ");
String MTemp = sc.next();
double MTempD=Double.parseDouble(MTemp);
Universe[TotalObjects]= new Moon(OType, OName, ORadiusD, MMass, Planet, MTempD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("Moon Added");
PrintWriter outputStream = null;
try
outputStream = new PrintWriter(new FileOutputStream(textfile, true));
catch(FileNotFoundException e)
System.out.println("Error opening spacebodies.txt");
System.exit(0);
System.out.println("Writing to file");
outputStream.println(OType);
outputStream.println(OName);
outputStream.println(ORadiusD);
outputStream.println(MMass);
outputStream.println(Planet);
outputStream.println(MTempD);
outputStream.println("\n");
outputStream.close();
System.out.println("Written to file succesfully");
else
System.out.println("You have entered an invalid input please try again");//invalid input
addObjectToFile(Universe);
return Universe;
public static SpaceObject[] addObject(SpaceObject[] Universe ) throws FileNotFoundException
System.out.print("Add a Star, Planet, Dwarfplanet or Moon? "); //Asks to add
String adding = sc.next();
if (adding.equalsIgnoreCase("star")) //Add Star
String OType="Star";
System.out.println("Enter the name of the Star: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Class O -blue");
System.out.println("Class B -blue white");
System.out.println("Class A -white");
System.out.println("Class F -yellowish white");
System.out.println("Class G -yellow");
System.out.println("Class K -orange");
System.out.println("Class M -red");
System.out.println("Class W -superluminous blue");
System.out.println("Class L -dark red");
System.out.println("Class T -cool brown dwarf");
System.out.println("Class Y -ultra cool brown dwarf");
System.out.println("Class C -carbom star");
System.out.println("Class S -between a class M and carbon star");
System.out.println("Class D -white dwarf");
System.out.println("Enter A Spectral Type: ");
String ST = sc.next();
//char STc = ST.charAt(0);
System.out.println("I -supergiants");
System.out.println("II -bright giants");
System.out.println("III -normal giants");
System.out.println("IV -subgiants");
System.out.println("V -dwarfs");
System.out.println("VI -subdwarfs");
System.out.println("VII -white dwarfs");
System.out.println("Enter Yerkes Spectral Classification: ");
String YSC = sc.next();
System.out.println("Enter the Distance: ");
String Distance = sc.next();
double DistanceD=Double.parseDouble(Distance);
Universe[TotalObjects]= new Star(OType, OName, ORadiusD, ST, YSC, DistanceD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("Star Added");
else if (adding.equalsIgnoreCase("planet")) //Add Planet
String OType="Planet";
System.out.println("Enter the name of the Planet: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Enter the Mass: ");
String PMass = sc.next();
System.out.println("Enter the Orbital Period: ");
String POB = sc.next();
double POBD=Double.parseDouble(POB);
System.out.println("Enter the Temperature: ");
String PTemp = sc.next();
double PTempD=Double.parseDouble(PTemp);
Universe[TotalObjects]= new Planet(OType, OName, ORadiusD, PMass, POBD, PTempD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("Planet Added");
else if (adding.equalsIgnoreCase("dwarfplanet")) //add dwarfplanet
String OType="DwarfPlanet";
System.out.println("Enter the name of the Dwarf Planet: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Enter the Mass: ");
String PMass = sc.next();
System.out.println("Enter the Temperature: ");
String PTemp = sc.next();
double PTempD=Double.parseDouble(PTemp);
Universe[TotalObjects]= new DwarfPlanet(OType, OName, ORadiusD, PMass, PTempD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("DwarfPlanet Added");
else if (adding.equalsIgnoreCase("moon"))
String OType="Moon";
System.out.println("Enter the name of the Moon: ");
String OName = sc.next();
System.out.println("Enter the Radius: ");
String ORadius = sc.next();
double ORadiusD=Double.parseDouble(ORadius);
System.out.println("Enter the Mass: ");
String MMass = sc.next();
System.out.println("Enter the Planet: ");
String Planet = sc.next();
System.out.println("Enter the Temperature: ");
String MTemp = sc.next();
double MTempD=Double.parseDouble(MTemp);
Universe[TotalObjects]= new Moon(OType, OName, ORadiusD, MMass, Planet, MTempD);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("Moon Added");
else
System.out.println("You have entered an invalid input please try again");//invalid input
addObject(Universe);
return Universe;
//read text file
public static void input(SpaceObject[] Universe) throws FileNotFoundException
System.out.println("What is the name of the text file you would like to write to? ");
String textfile = sc.next();
File f =new File(textfile);
Scanner infile;
infile = new Scanner(new File("spacebodies.txt"));
while (infile.hasNext())
String SpaceType = infile.next();
String OType = infile.nextLine();
String OName = infile.nextLine();
double ORadius = infile.nextDouble();
if (SpaceType.equals("Star"))
String ST = infile.next();
String YSC = infile.next();
infile.nextLine();
double Distance = infile.nextDouble();
Universe[TotalObjects]= new Star("Star", OName, ORadius, ST, YSC, Distance);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("");
else if (SpaceType.equals("Planet"))
String PMass = infile.next();
infile.nextLine();
double POB = infile.nextDouble();
double PTemp = infile.nextDouble();
Universe[TotalObjects]= new Planet("Planet", OName, ORadius, PMass, POB, PTemp);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("");
else if (SpaceType.equals("DwarfPlanet"))
String PMass = infile.next();
infile.nextLine();
double PTemp = infile.nextDouble();
Universe[TotalObjects]= new DwarfPlanet("DwarfPlanet", OName, ORadius, PMass, PTemp);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("");
else if (SpaceType.equals("Moon"))
String MMass = infile.next();
String Planet = infile.nextLine();
infile.nextLine();
double MTemp = infile.nextDouble();
Universe[TotalObjects]= new Moon("Moon", OName, ORadius, MMass, Planet, MTemp);
Universe[TotalObjects].display();
TotalObjects = TotalObjects +1;
System.out.println("");
else{
System.out.println("Error");
//Display To Screen
public static void displayToScreen(SpaceObject[] Universe)
System.out.println("Displaying Added Space Objects\n");
if (TotalObjects>0)
for (int i=0;i<TotalObjects;i++)
Universe.display();
System.out.println("");
//Search Objects
public static void SearchObjects(SpaceObject[] Universe)
System.out.println("Please Enter a Space Body to Search: ");
String SBody = sc.nextLine();
SBody = sc.nextLine();
for (int i=0;i<TotalObjects;i++)
if (Universe[i].OName.equalsIgnoreCase(SBody))
Universe[i].display();
//Find Largetst
public static void findLargest(SpaceObject[] Universe)
double MaxRadius = Universe[0].ORadius;
int Max=0;
for (int i=0;i<TotalObjects;i++)
if (MaxRadius < Universe[i].ORadius)
MaxRadius = Universe[i].ORadius;
Max = i;
Universe[Max].display();
//Find Smallest
public static void findSmallest(SpaceObject[] Universe)
double MaxRadius = 900000;
int Max=0;
for (int i=0;i<TotalObjects;i++)
if (MaxRadius < Universe[i].ORadius)
MaxRadius = Universe[i].ORadius;
Max = i;
Universe[Max].display();
//Temp Range
public static void tempRange(SpaceObject[] Universe)
public static void mostDistant(SpaceObject[] Universe)
public static void sortSize(SpaceObject[] Universe)
public static void sortName(SpaceObject[] Universe)
-
Sorting an array of Objects based on a variable inside each object
I have a class public class handInfo
//VARS
int highC = 0;
int hVal = 0;
int numHand = 0;
//CONSTRUCOTRS
public handInfo()
//METHODS
public void setHC(int hc)
highC = hc;
public void setHV(int hv)
hVal = hv;
public void setNH(int nh)
numHand = nh;
public int getHC()
return highC;
public int getHV()
return hVal;
public int getNH()
return numHand;
}now i have an array, handInfo[] hands = new handInfo[4];
hands[0] = new handInfo();
hands[0].setHC(HV);
hands[0].setNH(1);
hands[0].setHV(Val);
hands[1] = new handInfo();
hands[1].setHC(HV2);
hands[1].setNH(2);
hands[1].setHV(Val2);
hands[2] = new handInfo();
hands[2].setHC(HV3);
hands[2].setNH(3);
hands[2].setHV(Val3);
hands[3] = new handInfo();
hands[3].setHC(HV4);
hands[3].setNH(4);
hands[3].setHV(Val4);i need to know how to sort this array, based off hVal...
D:Write a Comparator and call Arrays.sort(array, Comparator).
-
Help sorting an array of objects needed please.
I am trying to sort the array Students[] in descending order of Fees due. Using the code below I get a null pointer error at runtime. The array is not completely full, it has 20 cells, but the variable studentArrayCounter holds the number of used cells. The 'getFeesDue()' code returns an integer value.
Any help is appreciated.
// Sort Student Records Method
public void sortStudentRecords()
int loopCount = 0;
for (loopCount = 1; loopCount < studentArrayCounter; loopCount ++)
if(Students[loopCount].getFeesDue()>Students[loopCount-1].getFeesDue())
SortStudents[0]=Students[loopCount-1];
Students[loopCount-1]=Students[loopCount];
Students[loopCount]=SortStudents[0];
}Also, unless the excersize is to write a sort algorigthm (which I kinda doubt) you should use Arrays.sort
Arrays.sort(Students, new Comparator() {
public int compare(Object o1, Object o2) {
Student s1 = (Student) o1;
Student s2 = (Student) o2;
return s1.getFeesDue() - s2.getFeesDue();
}); -
Sorting an array of numbers with loops
Hi, i'm looking for a way to sort an array or numbers with loops.
my array looks like this. int[] numbers = {5,2,7,9,1}
i know how to use the "sort" method and i want to do it without the sort method, but i am not very clear on the logic behind it.
by the end it should look like this, {1,2,5,7,9}
i know 2 loops are used, can you please give me a logic to work with.
i have started the loops but what to do inside???
int temp;
for (int i=0; i<numbers.length; i++){
for (int j=1; j<numbers; j++){
if (numbers<numbers[j])
temp = numbers[i];
Any suggestions i will be thankful for.
thank you.fly wrote:
no not really a homework question.. i want to improve my logic because it is very poor at the moment.. but i'm sure someone knows how to sort an array with loops only.Yes, we do know how to do it, I once wrote a heapsort in assembly code, as a real work project. But you rarely get a project like that the good ones were all done years ago.
All the algorithms I suggested you look at use loops. the simplest and slowest is the bubble sort. This one runs by comparing values and swapping their locations, the wikipedia article http://en.wikipedia.org/wiki/Bubble_sort has the algorithm. -
Sorting an array of filenames by filetype?
I have an array of filenames read from a directory list. I
can parse the
file type from each filename using a function. How would I
then sort the
array by their respective file type, so that all PDF files
sort together in
the array, for example? Or would it be easier to just loop
through the
array by filetype, printing each matching array value?
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.projectseven.com/go
- DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs,
Tutorials & Resources
==================That's exactly the code I am using except without the
multisort. It should
be an easy retrofit!
Thanks, Joe!
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.projectseven.com/go
- DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs,
Tutorials & Resources
==================
"Joe Makowiec" <[email protected]> wrote in
message
news:[email protected]...
> On 14 Apr 2008 in macromedia.dreamweaver.appdev, Joe
Makowiec wrote:
>
>> On 14 Apr 2008 in macromedia.dreamweaver.appdev,
Murray *ACE* wrote:
>>
>>> I have an array of filenames read from a
directory list. I can
>>> parse the file type from each filename using a
function. How would
>>> I then sort the array by their respective file
type, so that all
>>> PDF files sort together in the array, for
example? Or would it be
>>> easier to just loop through the array by
filetype, printing each
>>> matching array value?
>>
>>
http://www.php.net/manual/en/ref.array.php
>>
>> There are a bunch of sorting functions there.
array_multisort and
>> uasort both look interesting. Got code?
>
> Dropin for a directory listing in a <ul>:
>
> <pre>
> <?php
> $files2 = array();
> if ($handle = opendir('.')) {
> echo "Input: .\n";
> echo "Directory handle: $handle\n";
> /* This is the correct way to loop over the directory.
> while (false !== ($file = readdir($handle))) {
> $files[] = $file;
> if (substr($file, 0, 1) != '.') {
> $separator = split('\.', $file);
> $files2[] = array('filename' => $separator[0], 'ext'
=>
> $separator[1]);
> }
> echo "$file\n";
> }
> closedir($handle);
>
> // print_r($files);
> // print_r($files2);
>
> foreach ($files2 as $key => $row) {
> $filename[$key] = $row['filename'];
> $ext[$key] = $row['ext'];
> }
>
> array_multisort($ext, SORT_ASC, $filename, SORT_DESC,
$files2);
>
> // print_r($files2);
>
> reset($files2);
>
> }
> ?>
> </pre>
> <ul>
> <?php
> foreach ($files2 as $myfile) {
> echo "\t<li>";
> echo $myfile['filename'];
> echo (empty($myfile['ext'])) ? '' : '.' .
$myfile['ext'];
> echo "</li>\n";
> }
> ?>
> </ul>
>
> Code's probably uglier than it needs to be, but it
works.
>
> --
> Joe Makowiec
>
http://makowiec.net/
> Email:
http://makowiec.net/contact.php -
Sorting an array of objects and returning another variable
Hi there,
Bit stuck on this one I wonder if anyone can help..
I have an object array into which I've pushed a number of objects with different variables :-
myArray.push({myRef: 1, myValue: "W"});
I can sort the array in numerical order using :-
myArray.sortOn("myRef", Array.NUMERIC);
but after sorting I would like to collapse the array using something along the lines of :-
myArray.join("");
to join the OTHER variable (myValue)...
Is it possible to do this without pushing every instance of 'myValue' to another array and then joining that ?
Many Thanks in advance
MartinHi kglad,
I really appreciate you helping, but I have had to completely change my approach to this problem, therefore I will be marking the question as answered !!
Thanks again -
Sort 1D array of clusters by the second element in the cluster
Hello Folks,
I need to sort 1D array of clusters [Point (X & Y)] using the second element (Y) of the Point cluster. Can anyone guide!!!!
Thanks.
ManuI see Darren is a bit faster than me.
Here's my solution (LabVEWI 7.0), it is pretty similar.
Message Edited by altenbach on 03-22-200602:01 PM
LabVIEW Champion . Do more with less code and in less time .
Attachments:
SortByElement2.png 4 KB
SortByElement2.vi 27 KB -
Sort an array of Application Class with respect to property
class MyClass
property string myProgram;
property string myType;
property string Description;
end-class;
Local array of MyClass &myProgArray;
&myProgArray.Sort("D");
I want to sort the Array in descending Order with respect to "myType".
How to provide "myType" parameter to sort method ?
Edited by: Mohsin on Oct 11, 2012 3:28 PMIf you add myType to the array then you can sort on that, assuming you have different values for myType.
According to PeopleBooks (8.51), API documentation;
Sort(order)
Note. This method works with arrays that have only one or two dimensions. You receive a runtime error if you try to use this method with an array that has more than two dimensions. -
Sort Grid array and find the 4 corner dots.
What I am trying to do is this: I am using NI Visions find circles vi on a grid array or dots which gives me a 1D array of clusters. In these clusters is the x,y coordinates of the grid dots that have been found. I need to figure out which ones are the 4 corner dots and the 4 center dots along the edges. The problem is the 1D array the find circle routine outputs is not in a logical order. My grid could possibly change in size too. Right now it is 14x12 but could be 13x12 or 14x13 or something like that.
I have found that if I send the 1D array of clusters though the sort 1D array it will sort it from top to bottom left to right, which I will then know that teh 1st element is the top left corner and the last element is the bottom right corner, but I am not sure what the easiest way is to figure out the rest of them.
Any help would be appreciated.
I am using labview 7.1 and NI Vision 8.0
Thanks
Brad
Brad Remenak
Certified LabVIEW ArchitectHi Brad,
If you want to get the coordinates of specific dots on the image, you
can search for the dots using different ROIs that only focus on certain
areas of the image (ex: use an ROI that only searches in the
upper-right corner so that you know the 1 match that shows up is
definitely there). Without knowing how consistent the dot
locations are, I would suggest dividing up the ROI dimensions based on
the variable size of the grid.
Hope this helps,
Irene Chow
National Instruments
Maybe you are looking for
-
Report Checkbox Columns in CSV Export File are NULL
Hi, Hoping someone can assist. Am using Oracle ApEx 3.0.1. I have a report that consists of a number of checkbox columns where I am using the Apex_Item.checkbox with a disabled attribute. My questions is, when I attempt to export this report to CSV f
-
Any way to add a URL variable to EVERY SINGLE url in the site, all at once?
Hi, I'm managing a web application, and we're looking at changing from using cookies, to passing session variables in every HTTP request to maintain session information. So basically, I have a variable that needs to be appended to every single URL in
-
.Mac messages do not apear in Mail
When I recieve any number of messages on my .Mac mailaccount the Mail Icon in the dock shows that number of messages to indicate that new mail has arrived. However, when I open the Mail window (and press get mail) there apear no new messages in the i
-
HT2311 I want to be able to have iradio, but nothing is working. Help
I want to be able to have iradio, but nothing is working. Help
-
Modify XML string of a view before output
Hi! I'm still working in the view IUICMD/CreatePerson, when you're in the CreatePerson.htm, you will found DATA lv_xml TYPE string. lv_xml = controller->configuration_descr->get_config_data( ). In the string I can se all the layout for my view, i