0

تاپیک تخصصی تالار برنامه نویسی : پاسخگویی به روز به کلیه سوالات عمومی و تخصصی

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

پاسخ به:تاپیک تخصصی تالار برنامه نویسی : پاسخگویی به روز به کلیه سوالات عمومی و تخصصی
دوشنبه 21 بهمن 1392  12:20 PM


نقل قول mfathi
سلام من دارم برنامه زیر رو مینویسم یک خطش رو که مشخص کردم خطا داره علت این خطا چیه؟
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication3
{
public class matrix
{
public const int row = 3;
public const int cloumn = 3;
public int[,] mat = new int[row, cloumn];
public void aader()
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("enter[{0},{1}]", i, j);
string str = Console.ReadLine();
int x = Convert.ToInt32(str);
mat[i, j] = x;
 
}
}
}
}
 
class Program
{
 
static void Main()
{
matrix matrix1 = new matrix();
matrix matrix2 = new matrix();
Console.WriteLine("ماتریس اول");
matrix1.aader();
Console.WriteLine("ماتریس دوم");
matrix2.aader();
Console.WriteLine("حاصل جمع ماتریس ها");
int[,] mat3 = new int[3, 3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
mat3[i, j] = matrix1[i, j] + matrix2[i, j];// خطای برنامه در اینجاس؟
}
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("matrix[{0},{1}]={2}", i, j, mat3[i, j]);
}
}
 
 
 
 
}
}
}


 

با سلام و احترام

مشکل از اینجاست که دارید کلاس ماتریس رو با i و j  فراخوانی می کنید که اصلاً چنین چیزی وجود نداره .

بهتر است به جای کد

mat3[i, j] = matrix1[i, j] + matrix2[i, j];

از کد زیر استفاده کنید .

mat3[i, j] = matrix1.mat[i, j] + matrix2.mat[i, j];

آرایه mat در واقع همون آرایه ای هست که شما داده ها رو دارید درون اون می ریزید پس هنگام فراخوانی باید از همون آرایه ، داده ها رو دریافت کنید نه از کلاس اصلی.

منتظر پاسخ شما هستم

با تشکر / موفق باشید

تشکرات از این پست
دسترسی سریع به انجمن ها