Make All Possible Sum Combinations From Array Elements In VB
Mar 24, 2010If there is an array with elements: 1,2,3,4, the program should return another array with sum of all combinations:
1
2
3
[Code]....
If there is an array with elements: 1,2,3,4, the program should return another array with sum of all combinations:
1
2
3
[Code]....
I would like a function generate all of the k-combinations of elements from a List of n elements. Note that I am looking for combinations, not permutations, and that we need a solution for varying k (i.e., hard-coding the loops is a no-no).
I am looking for a solution that is a) elegant, and b) can be coded in VB10/.Net 4.0.
This means a) solutions requiring LINQ are ok, b) those using the C# "yield" command are not.
The order of the combinations is not important (i.e., lexicographical, Gray-code, what-have-you) and elegance is favored over performance, if the two are in conflict.
(The OCaml and C# solutions here would be perfect, if they could be coded in VB10.)
This question is virtually the same as this SO post, only I'm looking for a VB.NET (.NET 4) solution. I've spun my wheels long enough trying to come up with a generic solution to solving this "power set" problem.
Dim choices As IEnumerable(Of String) = {"Coffee", "Tea", "Milk", "Cookies"}
Dim choiceSets = choices.CombineAll()
I'm looking for choiceSets to be an IEnumerable(Of IEnumerable(Of T)) so that I can do something like:
For each choiceSet in choiceSets
Console.WriteLine(String.Join(", ", choiceSet))
Next
[code]...
As you can see, this is every non-repeating combination from the source IEnumerable(Of T) (which could have 1 to many items in it - this example only had 4), it operates based on the order of the items in the source IEnumerable(Of T), and each item in the list is >= the previous item in terms of number of items in the inner IEnumerable(Of T).
For what it's worth, this is not homework; though it sure does feel like it. EDIT: Updated the example so it does not look like the result is alphabetically sorted, to stress that the source IEnumerable(Of T)'s existing order is used and added a 4th choice to clarify the sorting requirement within each set.
Is there a succint way in vb.net to create an array or similar of each of the properties in a list?
E.g. If I have a list of 'a' and each 'a' has a property 'b', I want to create an array which contains all the 'b's, in the same index positions as the original list.
I need to generate all combinations (not permutations) in VB .NET, I've been search and all I found is for permutations (some says combinations but when I was try it, all are permutations).
What I need is to generate combinations from string array:
Dim data_array As String() = {"one", "two", "three", "four", "five", "six"}
I need that: If I say just 1 length, it must returns:
one
two
three
four
five
six
If I say 2 length, it must returns:
oneone
onetwo
onethree
onefour
... etc ...
twoone
twotwo
twothree
... etc ...
And continues til end with all combinations. If I say more length do it as well.
I've come up with the following and it's partly working.
Public serial1, serial2, serial3, serial4, serial5 As SerialPort
Public serialports() As Object = New Object() {serial1, serial2, serial3, serial4, serial5}
dComPort = "COM4"[code]....
The above code works fine! But im having trouble trying to now retreive whats stored in the array.In the above example, an entry will be stored in serialports(4), all other array elements will be blank.If I do this it works.
MsgBox(serialports(4).PortName) ' this retuns the value COM4
But I'd like to loop though all array elements and print out ALL the PortNames, The below code doesnt work, I get an error Object variable or With block variable not set.
For i = 0 To serialports.Length - 1
MsgBox(serialports(i).portname)
Next
Assume I have an array myArray1 = { A, B, C, D, E, F, ., T}I have another that contains a subset of the elements of myArray1 but where the order may vary
View 3 RepliesI feel quite silly asking this, but I couldn't find a definite answer anywhere. in vb.net, how are the array elements defined (if they are defined) for, for example:
Dim myarray(5) as int
does, at this point in time, myarray(3) for example have a defined value? If so, what is it?
check if array consist of only elements from another array
View 3 RepliesI have a one-dimensional array that has one number per element. I also have a variable number, var. I need to take the number of elements from the first array that equals the var and put it into a second array with commas between the numbers. I would also like to have a title element in the second array. [Code]
View 4 RepliesI am trying to add the values in my array.. and this is my code
dim totals(6) as decimal
public function AddIBNRTotal(byval Amt as decimal,srvcdesc as string) as decimal
if srvcdesc = "ZZ_TOTAL" then
[Code]....
I know the addIBNRfunction works fine cause it is displaying the correct amounts in my textbox
but when i call the Sumnumber() i am getting 70000 dollars short...
So is this the right way to add values or elements to a array...
How would you code this so that it adds up the first column, and then the second column?
Dim intSales(,) As Integer = {{100000, 150000}, _
{90000, 120000}, _
{75000, 210000}, _
[Code].....
I am trying to create a array and then add elements to it based on some conditions and then add the elements in the array and display it...
but i am getting a larger number that expected..
this is my code
Dim IBNRTotal as decimal
dim element as integer
dim totals(6) as decimal -- create a array3
[Code]....
i know the amt value correct cause in return amt.. i am seeing the right value but somehow when it goes to the array and when i add the whole thing it doesnt seems right...
I am just starting VB at 60 years old and with no programming experience and nobody to ask for help...except here, of course. So needless to say I am hitting brickwalls. I am using "Murach's Visual Basic 2008" and it seems to be a good book. This is what I am up to I have to declare an array with 5 elements with an index. I think that part is OK. Then add code that adds each element to the next one every time a user clicks a button. I have had many tries but the best I can get is just the grand total of the elements. Here is the code I came up with:-
[Code]...
Is anyone able to show me how the button click would reveal a progressive total of the elements each time a user clicked on it? It would be good if the book came with answers or had a forum for their readers.
way to assign value to elements of an Array. For an example,
Assign each Cheque1 to Cheque50 to the array (named as "Cheques()" ) elements.>>
Cheques(1) = Cheque1
Cheques(2) = Cheque2
Cheques(3) = Cheque3
[Code]....
Now I'm VERY new at the reading in a text file and storing into arrays thing and tried for hours last night to figure this out, googling and every possible way of writing the code. However, I don't know what to try next and I'm getting more confused by the minute. I have a text file which I load into my program. This data is stored into 6 arrays, each of which has data that comes from either a combobox, date or text field. What I'm trying to do is to find the count of items in each index of the array.
[Code]...
In this case I'm trying to create a number analysis app. I'm required to declare an array and get the data for the array using ten text boxes. Why, because my instructor said so.
My problem is my event is returning zero. Therefore I believe my code is somehow flawed.
My approach is to create functions that calculate the required metrics. I have only tried to code one function to date. If I can get help making one function work, I will be able to do the others .
Public Class Form1
Dim decScore0, decScore1, decScore2, decScore3, decScore4 As Decimal
Dim decScore5, decScore6, decScore7, decScore8, decScore9 As Decimal
[Code].....
I have a class I am working on for a program I am writing while I am stuck at hospital 3x a week and was wondering. If my class has a Reset function that sets the count variable to 0, can I then say that the Data array is equal to "nothing" and wipe all the data that was in it?
Below is the class structure so far:
Private Count As Integer = 0
Private Data() As Integer
Public Sub Add(ByVal value As Integer)
Count = Count + 1
[Code] .....
For example, I have an integer array called sec1() that has 71 elements.
I tried:
vb sec1(1 - 71) += 1 But when I run the program, it gives me an error. Not a red-underline error, some other error that doesn't stop the program from compiling but stops it from running. Is there a way for me to modify all of the element of my array at once? just out of curiosity will the same method work for string arrays?
I am trying to teach myself programming and I am on the subject of arrays. I want to create a simple program that asks the user to input 5 numbers and then outputs those numbers to the user. The program is a console application and I'm using Visual Basic 2005. My code is as follows:
[Code]...
I'm using vb10.
Is there a simple command that will set all of the integer elements of an array to a number you want?
Example:
Dim Tmp(200,200) as integer
For LpX = 1 to 200
For LpY = 1 to 200
[Code]....
Is there a pre-existing method in vb.net to shift elements? Like the following.
Code:
testArray elements:
0: ""
1: ""
[Code].....
I have an array x in size of objects (between 1 and 100) and I want to increase the size to 101 ... I've resized the array and that adds the objects but unfortunatly (not suprising) the added items have not been initialised, do I've reverted to using a do while loop and adding the elements indiviually, but looking at the code around it where addrange is used extensivily, I was just wondering if that was a neat vb.net way of doing the same thing
Bit of a learning question, just looking for neat ways to do the same thing
I have an array object called arr() from arr_class. I get problem in calling each elements of it
[code]...
I have an array object called arr() from arr_class. I get problem in calling each elements of it.Here is the classarr_class
Public Class arr_class
Dim _val1() As Integer
Dim _val2() As Integer
[code].....
I Declared my Array like this[code]...
But it display the array size (100,1) i want to display (2) elements
I have the following code to display filenames in a gridview. the variable filename contains the filenames that are present in a folder. now i want to store these filename values into a string array for further usage.[code]
View 2 RepliesI have an array which holds number of elements. Now I need to create an xls file and need to write all the members of array into xls file, like one member for each cell.[code]Now I need to create examle.xls file and write above input() elements into example.xls
View 1 Replieswhy my code doesn't work? I want the array elements to be loaded into a listbox when the button is clicked. Is it because not all elements in my array have been filled? I've tried putting the array declaration as a global variable and as a local one (below), but the same error occurs as soon as the button is clicked - "ArgumentNullException was unhandled".
Private Sub btnLoadCustomerNames_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadCustomerNames.Click
'String array holds maximum 100 customer names
[Code].....
So i run a loop that is an iteration for array variables. for i = 1 to 1000summation = summation + array(i)next iyet for every iteration, array(i) contains a different set elements, and I need to know the sum of these elements for every iteration step.For some reason VB saves the values from previous iteration(s) and adds them to the new.The question is: how do I sum a new set of array elements for every iteration without using the older values.? Can I: dim array(number of elements as a function of something) ?
View 3 Replies