Avoiding Circular Dependency

I have a four projects in a solution AllianceControl
-MainMenu
-BackflowControl
-UMS
-CounterReceipts

MainMenu Serves as launchboard for all the different projects as refrences them all to get at the controls to launch in a tab control:
BackflowControl -> MainMenu
UMS -> MainMenu
CounterReceipts -> MainMenu

This setup worked perfectly while I had just needed the refrence one way. But I came across a problem when I needed to add a new feature. Say I'm in BackflowControl
and want to load account information off of a datagrid double click. This double click would open a new tab in the collection I have going on. My problem is that the
functionality and collection is stored in my main menu since that is the launching point. I understand of course that you can't refrence the Mainmenu from the controls
(this would cause circular dependancy) but how would I be able to get at the function (or collection of tabs) to create a new tab in that collection?

You could sepearte out the data management classes to a seperate dll project.
This will enable access to the data manipulation functions for all processes.
If you need to reference objects from the MainMenu process then that is a totally differenct ball game and will also require cross process channels to transfere the data.

I have a 2d matrix with dimension (3, n) called A, I want to calculate the normalization and cross product of two arrays (b,z) (see the code please) for each column (for the first column, then the second one and so on).
the function that I created to find the ...

Write a C program that should create a 10 element array of random integers (0 to 9). The program should total all of the numbers in the odd positions of the array and compare them with the total of the numbers in the even positions of the array and indicate ...