Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Получить действительную матрицу


Автор: Decepticon 26.10.2010, 17:52
Дана действительная матрица [aij], i, j=1, ..., n . Получить действительную матрицу [bij], i, j=1, ..., n, элемент bij которой равен произведению элементов данной матрицы, расположенных в области, определяемой индексами i, j так, как показано на рисунке (область залита)user posted image

Начал писать код посмотрите,и подскажите пожалуйста как доделать чтобы правильно работало.
Код

#include <iostream>
 
 
 
using namespace std;
 
 
 
 
 
int main()
 
{
 
        const int RAZMER = 4;
 
        int a[RAZMER][RAZMER], b[RAZMER][RAZMER], i=0, j=0, pr=1;
 
        cout<<"Vvedite elementy matryci"<<endl;
 
        while(i<RAZMER) {
 
                while(j<RAZMER) {
 
                        cin>>a[i][j];
 
                        j++; }
 
                j=0; i++; }
 
        i=0; j=0;
 
        while(i<RAZMER) {
 
                while(j<RAZMER) {
 
                        pr=a[i][j]*a[j][i];
 
                        b[i][j]=pr;
 
                        j++; }
 
                j=0;
 
        i++; }
 
        i=0; 
 
        j=0;
 
        while(j<RAZMER) {
 
                while(i<RAZMER) {
 
                        cout <<endl;
 
                        cout<<"         "<<b[j][i];
 
                        i++; }
 
        cout<<endl;
 
        i=0; j++; 
 
        }
 
        return 0;
 
}


Автор: baldina 26.10.2010, 18:35
bij должно быть равно произведению всех элементов в внутри закрашенной области?
тогда
Код

pr=a[i][j]*a[j][i];

неверно. реши сначала задачу математически, потом программируй. у тебя должно быть произведение abs(i-j+1)^2 элементов. например, при i=0, j=n-1 получится произведение всех n^2 элементов матрицы А.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)