h_zamani
یک شنبه 04 بهمن 1388, 22:59 عصر
سلام بچه ها
این یه برنامه هست که یک سری مقادیر اولیه میگیره و با توجه به شرایط سطر و ستون به وسیله ی اون مقادیر اولیه یک ماتریس مینویسه.مشکل برنامه اینه وقتی برای سطر و ستون شرط میگذارم نمی تونه مقادیری رو به آرایه های متناظر اون سطر و ستونها نسبت بده.:ناراحت:
ممنون میشم اگه کمک کنید کد برنامه را درست کنم .:لبخندساده:
int R, L, M, C, S , row=0, clmn=0, i, j;
float Z=1 , up , down;
Console.Write("how many points for right side?");
R = Convert.ToInt32(Console.ReadLine());
Console.Write("how many points for left side?");
L = Convert.ToInt32(Console.ReadLine());
Console.Write("how many points for middle?");
M = Convert.ToInt32(Console.ReadLine());
Console.Write("how many points on erect lines?");
C = Convert.ToInt32(Console.ReadLine());
Console.Write("how many rows between up and down?");
S = Convert.ToInt32(Console.ReadLine());
Console.Write("what is potential of up brede?");
up = Convert.ToInt32(Console.ReadLine());
Console.Write("what is potential of down brede?");
down = Convert.ToInt32(Console.ReadLine());
float[,] a = new float[row, clmn];
float[,] b = new float[row, clmn];
row = S + C + 1;
clmn = R + M + L - 2;
for (i = 0; i < row; ++i)
for (j = 0; j < clmn; ++j)
{
if ((j == L - 1) ||( j == L - M - 2))
Z = (up - down) / (row - (2 * C) + 1);
else
Z = (up - down) / (row - C);
}
for (i = 0; i < row; ++i)
for (j = 0; j < clmn; ++j)
{
if ((j >= 0 && j < L - 1) || (j >= L + M - 3 && j < clmn))
{
a[i, j] = up + (C - i - 1)*Z;
}
else if ((j == L )|| (j == L + M - 2))
{
if (i >= 0 && i < C)
a[i, j] = 0;
else if (i >= C && i < row - C)
a[i, j] = up + (C - i - 1) * Z;
else
a[i, j] = down;
}
else
{
if (i >= 0 && i < row - C + 1)
a[i, j] = up - (i * Z);
else
a[i, j] = 0;
}
for (int s = 0; s < row; ++s)
{
for (int r = 0; r < clmn; ++r)
{
Console.Write("{0}\t", a[s, r]);
}
Console.WriteLine("\n");
}
}
این یه برنامه هست که یک سری مقادیر اولیه میگیره و با توجه به شرایط سطر و ستون به وسیله ی اون مقادیر اولیه یک ماتریس مینویسه.مشکل برنامه اینه وقتی برای سطر و ستون شرط میگذارم نمی تونه مقادیری رو به آرایه های متناظر اون سطر و ستونها نسبت بده.:ناراحت:
ممنون میشم اگه کمک کنید کد برنامه را درست کنم .:لبخندساده:
int R, L, M, C, S , row=0, clmn=0, i, j;
float Z=1 , up , down;
Console.Write("how many points for right side?");
R = Convert.ToInt32(Console.ReadLine());
Console.Write("how many points for left side?");
L = Convert.ToInt32(Console.ReadLine());
Console.Write("how many points for middle?");
M = Convert.ToInt32(Console.ReadLine());
Console.Write("how many points on erect lines?");
C = Convert.ToInt32(Console.ReadLine());
Console.Write("how many rows between up and down?");
S = Convert.ToInt32(Console.ReadLine());
Console.Write("what is potential of up brede?");
up = Convert.ToInt32(Console.ReadLine());
Console.Write("what is potential of down brede?");
down = Convert.ToInt32(Console.ReadLine());
float[,] a = new float[row, clmn];
float[,] b = new float[row, clmn];
row = S + C + 1;
clmn = R + M + L - 2;
for (i = 0; i < row; ++i)
for (j = 0; j < clmn; ++j)
{
if ((j == L - 1) ||( j == L - M - 2))
Z = (up - down) / (row - (2 * C) + 1);
else
Z = (up - down) / (row - C);
}
for (i = 0; i < row; ++i)
for (j = 0; j < clmn; ++j)
{
if ((j >= 0 && j < L - 1) || (j >= L + M - 3 && j < clmn))
{
a[i, j] = up + (C - i - 1)*Z;
}
else if ((j == L )|| (j == L + M - 2))
{
if (i >= 0 && i < C)
a[i, j] = 0;
else if (i >= C && i < row - C)
a[i, j] = up + (C - i - 1) * Z;
else
a[i, j] = down;
}
else
{
if (i >= 0 && i < row - C + 1)
a[i, j] = up - (i * Z);
else
a[i, j] = 0;
}
for (int s = 0; s < row; ++s)
{
for (int r = 0; r < clmn; ++r)
{
Console.Write("{0}\t", a[s, r]);
}
Console.WriteLine("\n");
}
}