PDA

View Full Version : مبتدی: رفع ارور های برنامه



rasoul.z
سه شنبه 23 اردیبهشت 1393, 22:55 عصر
سلام.میخواستم ازتون خواهش کنم ارورهای این برنامه هارو برام رفع کنین

parvizwpf
چهارشنبه 24 اردیبهشت 1393, 01:54 صبح
دوست عزیز کد ماتریکس رو دیدم . چند مشکل منطقی اساسی داره. تغدادی اپراتورتون اصلا در هدر تغریف نشده اند. cin روی کلاس ماتریکس زدید یعنی چی؟ cin روی کلاس نمیشه.

rasoul.z
چهارشنبه 24 اردیبهشت 1393, 09:59 صبح
دوست عزیز کد ماتریکس رو دیدم . چند مشکل منطقی اساسی داره. تغدادی اپراتورتون اصلا در هدر تغریف نشده اند. cin روی کلاس ماتریکس زدید یعنی چی؟ cin روی کلاس نمیشه.

دوست عزیز میشه بگید کدوم خط های کد های من مشکل داره و چه کدی رو باید جایگزین آنها کنم؟
با تشکر

rasoul.z
چهارشنبه 24 اردیبهشت 1393, 10:01 صبح
این کد برنامه هست. ممنون میشم راهنماییم کنید.هر کاری میکنم نمیتونم اجرایی بگیرم



#include "iostream.h"
#include "stdlib.h"
#include "conio.h"


class matrix

{
private:
int data[10][10];
int i,j;
public:
matrix();
matrix operator +(matrix&);
matrix operator -(matrix&);
matrix operator *(matrix&);

friend ostream &operator <<(ostream&,matrix&);
friend istream &operator >>(istream&,matrix&);
};

matrix::matrix()
{
int i,j;

for (i=0;10>i;i++)
for (j=0;10>j;j++)
data[i][j]=0;
}

matrix matrix::operator +(matrix op2)
{
int i,j;
matrix result();
{
for (i=0;10>i;i++)
for (j=0;10>j;j++)
result.data[i][j]=this->data[i][j]+op2.data[i][j];
}
return result;
}

matrix matrix::operator - (matrix op2)
{
int i,j;
matrix result();

{
for (i=0;10>i;i++)
for (j=0;10>j;j++)
result.data[i][j]=data[i][j]-op2.data[i][j];
}
return result;
}

matrix matrix::operator *(matrix op2)
{
int i,j,k,sum;
matrix result();
{
for (i=0;n>i;i++)
for (j=0;n>j;j++)
{
sum=0;
for (k=0;n>k;k++)
sum=sum+data[i][k]*op2.data[k][j];
result.data[i][j]=sum;
}
}
return result;
}


ostream &operator <<(ostream &output,matrix &mat)
{
int i,j;

for (i=0;i<10;i++)
{
for (j=0;j<10;j++)
{

output <<"["<<mat.i<<","<<mat.j<<"]";
}

}
return output;
}

istream &operator >>(istream &input,matrix &mat)
{
int i,j;
for (i=0;i<10;i++)
for (j=0;j<10;j++)
{
cout << "[" << i+1 << "," << j+1 << "] = ";
input >> mat.data[i][j];
}
return input;
}

void main()
{
matrix op1,op2;
cout << "Please enter matrix op1 : " << endl;
cin >> op1;
cout << "Please enter matrix op2 : " << endl;
cin >> op2;
cout << endl << "A + B = " << endl << op1+op2;
cout << endl << "A - B = " << endl << op1-op2;
cout << endl << "A * B = " << endl << op1*op2;

getch();

}

حامد مصافی
چهارشنبه 24 اردیبهشت 1393, 12:22 عصر
دوست گرامی، برای دریافت یک راهنمایی بهتر خطاهایی رو که از کامپایلر دریافت می‌کنید رو هم در تاپیک قید کنید. ممکنه کسی حوصله دانلود و اجرای پروژه شما رو نداشته باشه و از روی متن خطا بتونه شما رو راهنمایی کنه

rasoul.z
چهارشنبه 24 اردیبهشت 1393, 13:38 عصر
matrix ::operator +(matrix) is not a memeber of matrix

این یکی از ارورهای برنامه ست.دوتا ارور دیگه شبیه این برای تفاضل و ضرب میده

rahnema1
چهارشنبه 24 اردیبهشت 1393, 14:38 عصر
اگه برنامه را خورده خورده می نوشتین و تست می گرفتین بهتر بود تا یه جا همه را بنویسید و بعد نشه کاریش کرد

#include <iostream>
#include "stdlib.h"
#include "conio.h"
using namespace std;

class matrix

{
private:
int data[3][3];
int i,j;
public:
matrix();
matrix operator +(matrix&);
matrix operator -(matrix&);
matrix operator *(matrix&);

friend ostream &operator <<(ostream&,matrix);
friend istream &operator >>(istream&,matrix&);
};

matrix::matrix()
{
int i,j;

for (i=0;3>i;i++)
for (j=0;3>j;j++)
data[i][j]=0;
}

matrix matrix::operator +(matrix& op2)
{
int i,j;
matrix result;
{
for (i=0;3>i;i++)
for (j=0;3>j;j++)
result.data[i][j]=this->data[i][j]+op2.data[i][j];
}
return result;
}

matrix matrix::operator - (matrix& op2)
{
int i,j;
matrix result;

{
for (i=0;3>i;i++)
for (j=0;3>j;j++)
result.data[i][j]=data[i][j]-op2.data[i][j];
}
return result;
}

matrix matrix::operator *(matrix& op2)
{
int i,j,k,sum;
matrix result;
{
for (i=0;3>i;i++)
for (j=0;3>j;j++)
{
sum=0;
for (k=0;3>k;k++)
sum=sum+data[i][k]*op2.data[k][j];
result.data[i][j]=sum;
}
}
return result;
}


ostream &operator <<(ostream &output,matrix mat)
{
int i,j;

for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{

output <<"["<<mat.data[i][j]<<"]";
}
output<<endl;
}
return output;
}

istream &operator >>(istream &input,matrix &mat)
{
int i,j;
for (i=0;i<3;i++)
for (j=0;j<3;j++)
{
cout << "[" << i+1 << "," << j+1 << "] = ";
input >> mat.data[i][j];
}
return input;
}

int main()
{
matrix op1,op2,op3;
cout << "Please enter matrix op1 : " << endl;
cin >> op1;
cout << "Please enter matrix op2 : " << endl;
cin >> op2;
op3=op1+op2;
// cout << endl <<"A + B = "<< endl<<(op3+op1);
cout << endl << "A + B = " << endl << op1+op2;
cout << endl << "A - B = " << endl << op1-op2;
cout << endl << "A * B = " << endl << op1*op2;

getch();

}