Перемножение матриц со строковым представлением числа - C#

Узнай цену своей работы

Формулировка задачи:

Есть 3 матрицы, вот такие:
int i, j, k;
            int sizeMatr = 1024;
 
            string[,] a = new string[sizeMatr, sizeMatr];
            string[,] b = new string[sizeMatr, sizeMatr];
            string[,] c = new string[sizeMatr, sizeMatr];
 
            for ( i = 0; i < sizeMatr; i++)
                for ( j = 0; j < sizeMatr; j++)
                    a[i, j] = b[i, j] = (i * j).ToString();
Они типа string, и в них я записываю в цикле значение перемножения i*j, в итоге получается две матрицы с одинаковыми элементами, в которых числа записаны строками. Мне нужно их поэлементно перемножить и записать результаты в третью матрицу

с

, которая пустая. Делаю я это вот так:
for ( i = 1; i < sizeMatr; i++)
            {
                for ( j = 1; j < sizeMatr; j++)
                {
                    c[i, j] = "0";
                    for ( k = 1; k < sizeMatr; k++)                    
                        c[i, j] += (Int64.Parse(a[i, k]) * Int64.Parse(b[k, j]));                    
                }
            }
Но на отладке смотрю что матрица

с

в конце цикла содержить только значение null ! В чем я не прав, не могу заметить свою ошибку, помогите! Нужно именно чтобы там были записаны строковые значения! Так же смущает вот этот участок, можно ли поумнее сделать?
c[i, j] += (Int64.Parse(a[i, k]) * Int64.Parse(b[k, j]));

Решение задачи: «Перемножение матриц со строковым представлением числа»

textual
Листинг программы
c[i, j] = (Int64.Parse(a[i, k]) * Int64.Parse(b[k, j])).ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы