Witam,
siedzę właśnie nad programem na zaliczenie i nie potrafię przeskoczyć jednej rzeczy. Program dotyczy mnożenia macierzy (tyle w poleceniu) i chciałbym, aby macierze były wczytywane z richtextbox'a i zapisywane w tablicy. Tu pojawia się problem, nie wiem jak ustawić warunek, aby nowa linia w textbox'ie powodowała dodanie kolejnego wiersza do tablicy.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace macierze_mnozenie
{
public partial class Form1 : Form
{
string macierzA;
string[,] matrixA = new string[6, 6];
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void b_mnozenie_Click(object sender, EventArgs e)
{
int iA=0, jA=0, iB=0, jB=0, iW=0, jW=0, i=0, j=0;
macierzA = r_macierzA.Text;
string[] split = macierzA.Split(new Char[] { ' ', '\n' });
foreach (string s in split)
{
if (s.Trim() != " ")
{
matrixA[iA, jA] = s.ToString();
iA++;
}
if (s.Trim() == '\n')
{
jA++;
iA = 0;
}
}
r_wynik.Clear();
for (j = 0; j <= jA; j++)
{
for (i = 0; i <= iA; i++)
{
r_wynik.Text += matrixA[i, j]+('\t');
if (i==iA)
{
r_wynik.Text += Environment.NewLine;
}
}
}
}
}
}
a dokładnie chodzi mi o tę część:
if (s.Trim() == '\n')
{
jA++;
iA = 0;
}
Po kompilacji kodu otrzymuję błąd:
Operator '==' cannot be applied to operands of type 'string' and 'char'
a gdy porównam s.Trim() == System.Environment.NewLine program ignoruje przejście do nowej linii i wszystko zapisuje w 1 wierszu tablicy.
A tu jeszcze screen z działania programu.
http://www.tinypic.pl/czfg786nmnl0
Dziękuję za pomoc.