Wyświetlenie tablicy w nowym oknie

0

Witam,

Ostatnio miałem pierwsze zajęcia z C# i kazano nam wykonać macierz jednostkową, której wielkość będzie deklarowana z klawiatury w konsoli, a jej zawartość będzie wyświetlona w nowym oknie. Generalnie kod tworzący taką macierz napisałem, a wartości przypisałem do tablicy tab1, aczkolwiek mam problem z napisaniem kodu wyświetlającego tę tablicę.

Mój kod:

 
using System;

namespace macierz
{
	class Program
	{
		public static void Main(string[] args)
		{
			int n;
			Console.WriteLine ("Podaj liczbę wierszy i kolumn macierzy jednostkowej");
			n=int.Parse(Console.ReadLine());
			int[,] tab1 = new int[n,n];
			
			for(int wiersz=0; wiersz<n; wiersz++)
			{
				for(int kolumna=0; kolumna<n; kolumna++)
				{
					if(wiersz==kolumna)
						 tab1[wiersz,kolumna]=1;

					else tab1[wiersz,kolumna]=0;
				}
				
			}
			
			//MessageBox.Show ("Macierz jednostkowa/n" ,tab1);
	
		}
	}
}
0

Nie pamiętam już C#, ale wskazówka dot. Windows Forms: http://stackoverflow.com/a/277776

0

Zrobiłem tak:

using System;
//using System.Windows.Forms;

namespace macierz
{
	class Program
	{
		[STAThread]
		public static void Main(string[] args)
		{
			
			int n, i;
			Console.WriteLine ("Podaj liczbę wierszy i kolumn macierzy jednostkowej");
			n=int.Parse(Console.ReadLine());
			int[,] tab1 = new int[n,n];
			int[,] tab2 = new int[n,n];
			
			for(int wiersz=0; wiersz<n; wiersz++)
			{
				for(int kolumna=0; kolumna<n; kolumna++)
				{
					if(wiersz==kolumna)
					{
						tab1[wiersz,kolumna]=1;
						int zmienna=1;
						for(i=kolumna; i<n; i++)
						{
							tab2[wiersz,i]=zmienna;
							tab2[i,wiersz]=zmienna;
							zmienna++;
						}
					}
					else tab1[wiersz,kolumna]=0;
					
				}
				
			}
			Application.EnableVisualStyles();
			Application.Run (tab1());
	
		}
	}
} 

aczkolwiek wywala mi błąd że "Nazwa „Application” nie istnieje w bieżącym kontekście. (CS0103)" . Kurcze, do do tej pory pisałem w języku c, teraz przeszliśmy na c# i ciężko mi się odnaleźć.

0
mlp99 napisał(a):

aczkolwiek wywala mi błąd że "Nazwa „Application” nie istnieje w bieżącym kontekście. (CS0103)" . Kurcze, do do tej pory pisałem w języku c, teraz przeszliśmy na c# i ciężko mi się odnaleźć.

Bo żeś sobie zakomentował linijkę: using System.Windows.Forms;, więc kompilator nie wie, skąd ma wziąć klasę Application.
Ty piszesz aplikację okienkową czy konsolową? Bo ten kod to jakaś przedziwna hybryda.

0

W konsoli muszę stworzyć tablicę, a wyświetlić mam ją w nowym oknie. Teraz próbuję stworzyć metodę, która będzie zwracać mi tablicę i wtedy spróbować ją wyświetlić. Nie wiem czy to dobry trop. Na razie idzie opornie.

1
using System;
using System.Windows.Forms;
 
namespace macierz
{
    class Program
    {
        [STAThread]
        public static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            /* tutaj kod konsolowy */
            
            // pokazanie okna:
            Application.Run(new Form1(tab1));

            /* tutaj ewentualnie jeszcze jakiś kod po zamknięciu okna */

        }
    }
}

Do projektu dodaj formę i ją odpowiednio zaprojektuj i oprogramuj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1