PDA

View Full Version : سوال: ساخت آرایه به تعداد زیاد با استفاده از حلقه for



hassan181
شنبه 09 اسفند 1393, 19:33 عصر
سلام دوستان
من می خوام با حلقه for تعداد زیادی آرایه ایجاد کنم. اما موفق نمیشم. نمونه کد که خطا میده رو میذارم. ممنون میشم کسی کمکم کنه.


for (int j = 0; j <= y; j++)
{
string c = "c" + j.ToString();
double[] c = new double[5.0];
}

Mofid.m
شنبه 09 اسفند 1393, 19:51 عصر
منظورت از خطا دادن چیه؟؟؟؟
شما یه سری خطا توی این چند خط داری
اول به طول آرایه Double باید عدد int بدی. مثلا 5 به جای 5.0 "Cannot implicitly convert type 'double' to 'int'. An explicit conversion exists (are you missing a cast?)
"
دوم شما اسم متغیر آرایه رو با اسم متغیر رشته یکسان تعریف کردی. "A local variable named 'c' is already defined in this scope"
اگه منظورتون همین بوده.

ravaei
شنبه 09 اسفند 1393, 20:27 عصر
اولا چرا 5.0 ؟

دوم همونطور که دوستمون گفت name ها یکیه ..

سوما شما داری با یه اسم y تا آرایه new میکنی ... همینطور string

شما اینجوری بنویس :




double []c = new double [y];


for(int i=0 ; i<=y ;i++)
{

console.write("c{0}",i+1);
c[y] = convert.todouble(console.readline);

}





این طوری میتونی خونه های آرایت رو پر کنی واسه نشون دادن اسم سطر هم لزومی به تعریف کردن string نیست

در ضمن من visual studio نداشتم دستی نوشتم کپی نکن چون حروف کوچیک بزرگو رعایت نکردم

موفق باشی ...

hassan181
شنبه 09 اسفند 1393, 21:35 عصر
اولا چرا 5.0 ؟

دوم همونطور که دوستمون گفت name ها یکیه ..

سوما شما داری با یه اسم y تا آرایه new میکنی ... همینطور string

شما اینجوری بنویس :




double []c = new double [y];


for(int i=0 ; i<=y ;i++)
{

console.write("c{0}",i+1);
c[y] = convert.todouble(console.readline);

}





این طوری میتونی خونه های آرایت رو پر کنی واسه نشون دادن اسم سطر هم لزومی به تعریف کردن string نیست

در ضمن من visual studio نداشتم دستی نوشتم کپی نکن چون حروف کوچیک بزرگو رعایت نکردم

موفق باشی ...

دوستان حرفتون درسته کد فقط برای نشون دادن بود
من می خوام تعداد زیادی آرایه با حلقه for بسازم که این آرایه ها بعدا مقدار دهی می شوند. روشی دارین

ravaei
یک شنبه 10 اسفند 1393, 00:13 صبح
دوستان حرفتون درسته کد فقط برای نشون دادن بود
من می خوام تعداد زیادی آرایه با حلقه for بسازم که این آرایه ها بعدا مقدار دهی می شوند. روشی دارین


من نمیدونم شما هدفتون از این کار چیه ، ولی با این کار شما آرایه ای از آرایه ها خواهید داشت که میتونید این کارو با آرایه دوبعدی انجام بدی ...



double [,] c = new double [y,5];


//اینطوری هم مقدار دهی کن ...

for (int i = 0; i < y; i++)
{
for (int j = 0; j < 5; j++)
{


c[i, j] = Convert.ToDouble(Console.ReadLine());


}


}





این کد دقیقا کاری که شما می خوای رو انجام میده ، هیچ فرقی با y تا آرایهء 5 تایی نداره ...

hassan181
یک شنبه 10 اسفند 1393, 16:58 عصر
دوست عزیز ممنونم
میشه بفرمایید صحیح کد زیر چیه به تعداد j می خوام با حلقه for آرایه های یک بعدی تولید کنم؟ (ببخشید مبتدی هستم)


for (int j = 0; j <= 10; j++)
{
double[] c+j = new double[5];
}

Mofid.m
یک شنبه 10 اسفند 1393, 21:18 عصر
دوست عزیز ممنونم
میشه بفرمایید صحیح کد زیر چیه به تعداد j می خوام با حلقه for آرایه های یک بعدی تولید کنم؟ (ببخشید مبتدی هستم)

شما چرا میخوای توی حلقه آرایه تعریف کنی؟
اینطوری هم که من متوجه شدم شما میخوای به تعداد J بار آرایه داشته باشی به نام های C0,C1,C2,C3,...,CJ
تمام این آرایه هم 5 تایی
شما بیا از آرایه دو بعدی استفاده کنیعنی به این شکل :



Double[,] C=new Double[10,5]


اینطوری شما نیاز نیست 10 تا آرایه 5 تایی داشته باشی
یه آرایه دادری با 10 سطر و 5 ستون

میتونی هر دو عدد رو هم متغیر بزاری
یعنی:


double[,] C, double[RowNumber,ColNumber]

masoud 578
دوشنبه 11 اسفند 1393, 01:43 صبح
دوستان عزیزم شاید منظور ایشون ساخت یک شئ در روند اجرای برنامه توسط خود برنامه است. (آرایه خود نوعی شئ از کلاس مربوطه میباشد).

hassan181
دوشنبه 11 اسفند 1393, 08:00 صبح
شما چرا میخوای توی حلقه آرایه تعریف کنی؟
اینطوری هم که من متوجه شدم شما میخوای به تعداد J بار آرایه داشته باشی به نام های C0,C1,C2,C3,...,CJ
تمام این آرایه هم 5 تایی
شما بیا از آرایه دو بعدی استفاده کنیعنی به این شکل :



Double[,] C=new Double[10,5]


اینطوری شما نیاز نیست 10 تا آرایه 5 تایی داشته باشی
یه آرایه دادری با 10 سطر و 5 ستون

میتونی هر دو عدد رو هم متغیر بزاری
یعنی:


double[,] C, double[RowNumber,ColNumber]

دوست عزیز ممنونم از پاسخ شما:قلب:
درست متوجه شدید من به تعداد J بار آرایه یک بعدی به نام های C0,C1,C2,C3,...,CJ نیاز دارم ضمنا طول آرایه متفاوت می باشد (طول آرایه در حلقه مشخص میشه) یعنی در هر مرحله از تکرار حلقه یک آرایه یک بعدی با طول بدست آمده ساخته و مقدار دهی می شود.

ravaei
سه شنبه 12 اسفند 1393, 01:06 صبح
دوست عزیز ممنونم از پاسخ شما:قلب:
درست متوجه شدید من به تعداد J بار آرایه یک بعدی به نام های C0,C1,C2,C3,...,CJ نیاز دارم ضمنا طول آرایه متفاوت می باشد (طول آرایه در حلقه مشخص میشه) یعنی در هر مرحله از تکرار حلقه یک آرایه یک بعدی با طول بدست آمده ساخته و مقدار دهی می شود.








اگه تعداد سطر و ستون ها فرق ميكنه از ارايه دندانه اي استفاده كن ...

hassan181
سه شنبه 12 اسفند 1393, 19:09 عصر
اگه تعداد سطر و ستون ها فرق ميكنه از ارايه دندانه اي استفاده كن ...

عزیزم لطف می کنی بیشتر توضیح بدی؟

Mofid.m
سه شنبه 12 اسفند 1393, 19:40 عصر
آرایه دندانه ایی آرایه ایی هستش که هر خونش میتونه ی آرایه باشه

کد زیر رو تو Console اجرا کن متوجه میشی


double[][] C = new double[5][];

for (int i = 0; i < C.Length; i++)
{
C[i] = new double[i + 5];

}


for (int i = 0; i < C.Length; i++)
{
for (int j = 0; j < i + 5; j++)
C[i][j] = i + j;

}




for (int i = 0; i < C.Length; i++)
{
for (int j = 0; j < i + 5; j++)
Console.Write(C[i][j] + " ");
Console.WriteLine();
}