Witam. Mam problem z pewnym zadaniem. Mam 2 macierze. Muszę posortować pierwszą macierz MacierzWynikowa_1[20, 32 ], a następnie do elementów posortowanej macierzy (PosortowaneDane_1), dopasować elementy drugiej macierzy (MacierzWynikowa_2). Macierz pierwsza ma być posortowana względem indeksu [j]. Próbowałem to rozwiązać za pomocą sortowania bąbelkowego w ten sposób:
int SortRozm = iloscB;
int[] Sortowanie = new int[iloscB];
string[,] PosortowaneDane_1 = new string[iloscA, iloscB];
string[,] PosortowaneDane_2 = new string[iloscA, iloscB];
int Dopasowanie = 0;
for (int i = 0; i < iloscA; i++)
{
SortRozm = iloscB;
for (int j = 0; j < iloscB; j++)
{
Sortowanie[j] = Convert.ToInt32(MacierzWynikowa_1[i, j]);
}
do
{
for (int k = 0; k < SortRozm - 1; k++)
{
if (Sortowanie[k] > Sortowanie[k + 1])
{
int SortowanieTemp = Sortowanie[k];
Sortowanie[k] = Sortowanie[k + 1];
Sortowanie[k + 1] = SortowanieTemp;
}
}
SortRozm--;
} while (SortRozm > 1);
for (int j = 0; j < iloscGenow; j++)
{
PosortowaneDane_1[i, j] = Convert.ToString(Sortowanie[j]);
}
}
for (int i = 0; i < iloscA; i++) // DOPASOWANIE ELEMENTÓW DRUGIEJ MACIERZY DO POSORTOWANEJ 1 MACIERZY
{
if (i == 0) { Dopasowanie= 0; }
for (int j = 0; j < iloscB; j++)
{
for (int k = 0; k < iloscB; k++)
{
if (k == 0) { Dopasowanie = 0; }
else { Dopasowanie++; }
if (PosortowaneDane_1[i, j] == MacierzWynikowa_1[i, Dopasowanie])
{
PosortowaneDane_2[i, j] = MacierzWynikowa_2[i, Dopasowanie];
}
}
}
}
Problem polega na tym, że nowa macierz zawierająca posortowane elementy (PosortowaneDane_1), zawiera ucięty string z pierwotnej macierzy (MacierzWynikowa_1).Byłbym wdzięczny za pomoc.