Не могу выявить ошибку в коде расчета матрицы
Добрый день, товарищи программисты, не могу понять где у меня ошибка в коде, нужно чтобы первый элемент строки матрицы был равен номеру строки, второй элемент равен первому(k=j-1), и следующие элементы суммируют предыдущие помогите пожалуйста, я уже опробовал многое, не приходит в голову исправление кода. Работаю в WindowsForm
for (int i = 0; i < Matrica.RowCount; i++)
for (int j = 0; j < Matrica.ColumnCount; j++)
{
if (j > 1)
{
matr[i, j] = 0;
for (int k = 0; k < j - 1; k++)
matr[i, j] += matr[i, k];
}
else
matr[i, j]= i;
Ответы (1 шт):
Автор решения: default locale
→ Ссылка
Почему бы не написать код как можно ближе к формуле?
for (int i = 0; i < Matrica.RowCount; i++)
for (int j = 0; j < Matrica.ColumnCount; j++)
{
if(j==0)
{
matr[i, j] = i+1;
}
else
{
int sum = 0;
for(int k = 0; k<j; k++)
sum += matr[i, k];
matr[i, j] = sum;
}
}
В Вашем коде проблема с индексами, в C# они идут с нуля, из-за этого возникают ошибки на единицу.
Другая проблема что таблица у Вас отображается наоборот: строки и столбцы перепутаны местами. Это уже нужно разбираться с кодом в Windows Forms (или что это?).
