मैं संरचना का उपयोग कर दो मैट्रिक्स योग करने की कोशिश कर रहा हूँ, लेकिन यह काम नहीं करता।

अगर इस कोड को अनुकूलित किया जा सकता है तो कृपया मुझे बताएं: डी

संकलन:

g++ -O2 -Wall program.cpp -o program

आउटपुट:

फ़ाइल में /usr/include/c++/4.8/iostream:39:0, Proy3.cpp से:2: /usr/include/c++/4.8/ostream:548:5: नोट: टेम्प्लेट std::basic_ostream& std: :ऑपरेटर<<(std::basic_ostream&, const unsigned char*) ऑपरेटर<<(basic_ostream& __out, const unsigned char* __s) ^ /usr/include/c++/4.8/ostream:548:5: नोट: टेम्प्लेट तर्क कटौती/ प्रतिस्थापन विफल: Proy3.cpp:51:30: नोट: 'std::istream {aka std::basic_istream}' 'std::basic_ostream' cin << &M2.x[i][j] से व्युत्पन्न नहीं है;

कोड:

# include < cstdio >
# include < iostream >


typedef struct Matrix
{
    int row, column;
            int x[20][20];
};

Matrix M1,M2;

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु() {

cout << "Insert size rows: Mat[a]";
cin >> M1.row);

cout << "Insert size of columns Mat[a]";
cin >> M1.column;


cout << "Insert size of rows Mat[b]";
cin >> M2.row;

cout << "Insert size of columns Mat[b]";
cin >> M2.column;

int i, j;

   // Matrix x

    for(i = 0; i <= M1.row; i++)
{
        for(j = 0; j <= M1.column; j++)
        {
        cout << "Insert number for matrix X : \n";
        cin >> M1.x[i][j]
        }
}

       // Matrix y

    for(i = 0; i <= M2.row; i++)
{
        for(j = 0; j <= M2.column; j++)
        {
        cout << "Insert number for matrix Y : \n";
        cin << M2.x[i][j];
        }
}

// Matrix X + Matrix Y

for(i = 0; i <= M1.row; i++)
{
    for(j = 0; j < M1.column; j++)
    {
        cout <<"The sum of " << M1.x[i][j] << " + " <<  M2.x[i][j] << " = " << M1.x[i][j] +  M2.x[i][j] << endl;
    }
}
return 0;

}

0
Bit87 25 मई 2016, 06:48

2 जवाब

सबसे बढ़िया उत्तर
  for(i = 0; i <= M2.M1.row; i++)
 {
    for(j = 0; j <= M2.M1.column; j++)
    {
    cout << "Insert number for matrix Y : \n";
    cin << &M2.M1.y[i][j];   
    }
  }

M2.M1.y जैसा कोई तत्व नहीं है जिसे आप एक्सेस करने का प्रयास कर रहे हैं। इसके अलावा आप M1 को M2 के अंदर क्यों घोषित कर रहे हैं। आपके पास केवल एक संरचना हो सकती है और इसके दो उदाहरण हो सकते हैं। कुछ ऐसा

struct matrix
{
    int row,column;
    int X[20][20];
};
struct matrix M1,M2;

अब आप दो मैट्रिक्स इनपुट कर सकते हैं।

साथ ही आपको cin>>&a के बजाय cin>>a का उपयोग करना होगा।

साथ ही cin << &M2.x[i][j]; होना चाहिए

 cin >> M2.x[i][j];
    ^^^^
0
Gaurav Sehgal 25 मई 2016, 07:31

मुझे लगता है कि सिनेमा की स्थिति cin >> &M2.x[i][j]; सिने के बजाय << &M2.x[i][j];

0
kiran 25 मई 2016, 07:37