Форум программистов, компьютерный форум CyberForum.ru

Заменить элементы главной диагонали матрицы суммами элементов столбцов - C++

Восстановить пароль Регистрация
 
Геннадий Лакин
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 33
18.11.2014, 21:49     Заменить элементы главной диагонали матрицы суммами элементов столбцов #1
Помогите пожалуйста.
Заменить элементы главной диагонали матрицы целых чисел размерностью 5х5 суммами элементов столбцов.
Я сделал вот так, поправьте пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
const n=5;
void __fastcall TForm1::Button1Click(TObject *Sender)
{int a[n][n];int i,j,S;
a[i][i]=StrToInt(StringGrid1->Cells[j+1][i+1];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
S=0;
for(i=0;i<n;i++)
S=S+a[i][i];
if(i<=j) a[i][i]=S;
StringGrid2->Cells[i][i];
}
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 21:49     Заменить элементы главной диагонали матрицы суммами элементов столбцов
Посмотрите здесь:

C++ Все элементы главной диагонали заменить на сумму элементов в данном массиве, имеющих четное значение.
C++ Как заменить все элементы главной диагонали в квадратной матрицы на какое-то число?
C++ в квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали
Матрицы. Отрицательные элементы матрицы, расположенные выше главной диагонали, заменить на квадраты их значений C++
C++ Элементы матрицы, которые лежат ниже главной диагонали, заменить минимальным элементом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OnePiece
33 / 33 / 22
Регистрация: 22.02.2014
Сообщений: 107
18.11.2014, 22:41     Заменить элементы главной диагонали матрицы суммами элементов столбцов #2
C++
1
2
3
4
5
6
7
8
9
for(i=0; i<n; i++)
    {
        S=0;
        for (j=0; j<n; j++)
        {
            S+=a[j][i];
        }
        a[i][i]=S;
    }
Геннадий Лакин
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 33
18.11.2014, 22:56  [ТС]     Заменить элементы главной диагонали матрицы суммами элементов столбцов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const n=5;
void __fastcall TForm1::Button1Click(TObject *Sender)
{int a[n][n];int i,j,S;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][i]=StrToInt(StringGrid1->Cells[i][j]);
for(i=0; i<n; i++)
{
S=0;
for (j=0; j<n; j++)
{
S+=a[j][i];
}
a[i][i]=S;
StringGrid2->Cells[i][i];
}
}
Ну вообщем вот так,теперь ошибка is not a valid integer value. Что это?

Добавлено через 5 минут
Цитата Сообщение от OnePiece Посмотреть сообщение
1
2
3
4
5
6
7
8
9
for(i=0; i<n; i++)
* * {
* * * * S=0;
* * * * for (j=0; j<n; j++)
* * * * {
* * * * * * S+=a[j][i];
* * * * }
* * * * a[i][i]=S;
* * }
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const n=5;
void __fastcall TForm1::Button1Click(TObject *Sender)
{int a[n][n];int i,j,S;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][i]=StrToInt(StringGrid1->Cells[i][j]);
for(i=0; i<n; i++)
{
S=0;
for (j=0; j<n; j++)
{
S+=a[j][i];
}
a[i][i]=S;
StringGrid2->Cells[i][i];
}
}
Ну вообщем вот так,теперь ошибка is not a valid integer value. Что это?
OnePiece
33 / 33 / 22
Регистрация: 22.02.2014
Сообщений: 107
19.11.2014, 17:25     Заменить элементы главной диагонали матрицы суммами элементов столбцов #4
Как я понял, вам нужно заменить значение с типом стринг.
Здесь вы записываете матрицу a[i][i]=StrToInt(StringGrid1->Cells[i][j]);
Вам нужно конвертировать значение a[i][i] обратно в строку, то есть применить сделать переменную типа string и туда записать значение string = IntToStr(a[i][i]) и записывать уже это значение.
Не уверен, точно но это будет выглядеть как то так StringGrid2->Cells[i][i] = string.
Yandex
Объявления
19.11.2014, 17:25     Заменить элементы главной диагонали матрицы суммами элементов столбцов
Ответ Создать тему
Опции темы

Текущее время: 15:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru