Witam :)
Mam problem z następującym zadaniem:
Do dataGrindView wczytuje tablice 3 z pliku .csv (10) elementów kazda(moze być wiecej tablic)
za pomocą przycisku chciałabym ją posortować metodą bąbelkową , stworzyłam dodatkową biblioteke dll w C++ w której zawarty jest kod owego sortowania . Kombinuje juz nad tym do dłuższego czasu i niewiem cos zaczyna działać , to coś innego przestaje oto co mam.
Fragmenty kodu:
private static List<string[]> ReadAndtParseData(string path, char separator)
{
var parsedData = new List<string[]>();
using (var sr = new StreamReader(path))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] row = line.Split(separator);
parsedData.Add(row);
}
}
return parsedData;
}
private void DrawDataGridView1(List<string[]> parsedData)
{
dataGridView1.ColumnCount = 10;
for (int i = 0; i < 10; i++)
{
var sb = new StringBuilder(parsedData[0][i]);
}
foreach (string[] row in parsedData)
{
dataGridView1.Rows.Add(row);
}
Przycisk sortujący:
private void button1_Click(object sender, EventArgs e)
{
FunkcjeC funkcjeC = new FunkcjeC();
int [] wynik;
int x = System.Int32.Parse(textBox1.Text);
{
if (radioButton1.Checked)
{
for (int i = 0; i<tab.Length; i++){
FunkcjeC.babelkoweC(tab[i], tab[i].Length);
}
}
}
for (int j = 0; j < x; j++)
{
for (int i = 0; i < 11; i++)
{
dataGridView1.Rows.Add(tab[j][10].ToString());
}
}
Przycisk ładujący tablice:
private void button2_Click(object sender, EventArgs e)
{
List<string[]> parsedData = ReadAndtParseData(@"D:/../../Tab1.csv", ',');
DrawDataGridView1(parsedData);
}
Biblioteka
void zamien (int &a, int &b)
{
int temp=a;
a=b;
b=temp;
}
void babelkoweC(int tab[], int n)
{
int temp;
for (int j=n-1; j>0; j--)
{
for (int i=0; i<j; i++)
if (tab [i]>tab[i+1])
zamien (tab [i], tab[i+1]);
};
}
Wywołanie w C# biblioteki
namespace GUI
{
unsafe class FunkcjeC
{
[DllImport("bibliotekaC.dll", CallingConvention = CallingConvention.Cdecl)]
internal static extern void babelkoweC(int [] tab,int n);
}
}
Ktoś moze pomóc ? Jak mam wykonać to sortowanie