Консультация № 183203
17.05.2011, 01:55
52.69 руб.
17.05.2011, 05:51
0 5 1
Уважаемые эксперты! Пожалуйста, помогите с заданием:

Ввести целочисленную матрицу А размером 6х7 элементов. Не используя дополнительных массивов, изменить содержание матрицы А таким образом, чтобы каждый ее элемент представлял собой сумму элементов тех строки и столбца исходной матрицы А, на пересечении которых он находится.

Язык - С++

Спасибо!

Обсуждение

давно
Старший Модератор
17042
808
17.05.2011, 05:52
общий
Вопрос перенесён в более подходящую рассылку.
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Мастер-Эксперт
325460
1469
19.05.2011, 14:05
общий
19.05.2011, 14:54
Код:
void mp(int *matr,int m,int n)
{
int S1=0;// сумма первой строчки
int St=0; //сумма текущей строчки
int Ss=0; // сумма столбика
int i,j;
// вычисляем сумму первой строчки
for(i=0;i<m;i++)
{
S1=S1+*(matr+i);
}
// вычисляем сумму второй строчки
for(i=0;i<m;i++)
{
Ss=0;
for(j=0;j<n;j++)
{
Ss=Ss+*(matr+i+j*m);
}
*(matr+i)=S1+Ss;

}
// преобразовываем оставшуюся матрицу
for(j=1;j<n;j++)
{
St=0;
for(i=0;i<m;i++)
{//вычисляем сумму текущей строчки
St=St+*(matr+i+j*m);
}
for(i=0;i<m;i++)
{
*(matr+i+j*m)=St+*(matr+i)-S1;
}
}

}



проверяйте, если такой вариант устроит, оформлю ответ.
Об авторе:
to live is to die
Неизвестный
19.05.2011, 16:56
общий
Адресаты:
Ваш вариант страивает,оформляйте:)
Спасибо огромнейшее!
давно
Мастер-Эксперт
325460
1469
19.05.2011, 16:58
общий
Хорошо.
Удачи Вам.
Об авторе:
to live is to die
давно
Мастер-Эксперт
325460
1469
19.05.2011, 17:00
общий
это ответ
Здравствуйте, Голицина Дарья Сергеевна!

Функция для реализации задачи:
Код:
void mp(int *matr,int m,int n)
{
int S1=0;// сумма первой строчки
int St=0; //сумма текущей строчки
int Ss=0; // сумма столбика
int i,j;
// вычисляем сумму первой строчки
for(i=0;i<m;i++)
{
S1=S1+*(matr+i);
}
// вычисляем сумму второй строчки
for(i=0;i<m;i++)
{
Ss=0;
for(j=0;j<n;j++)
{
Ss=Ss+*(matr+i+j*m);
}
*(matr+i)=S1+Ss;

}
// преобразовываем оставшуюся матрицу
for(j=1;j<n;j++)
{
St=0;
for(i=0;i<m;i++)
{//вычисляем сумму текущей строчки
St=St+*(matr+i+j*m);
}
for(i=0;i<m;i++)
{
*(matr+i+j*m)=St+*(matr+i)-S1;
}
}

}

5
Об авторе:
to live is to die
Форма ответа