PDA

View Full Version : تابع با 20 آرایه بازگشت !!



jblaox
دوشنبه 17 تیر 1392, 19:12 عصر
سلام

من یک تابع دارم که در یک فایل سرایند آن قرار دادم که میاد 20 آرایه را از مقادیر موجود در یک فایل واقعا آشفته استخراج میکنه !

حالا چه راهکاری پیشنهاد میکنید تا این 20 آرایه را بتوانم در main برنامه بدون دردسر پردازش کنم .

Ananas
سه شنبه 18 تیر 1392, 04:26 صبح
سلام.
متوجه نشدم دقیقا میخای چه کار کنی ولی می تونید برنامه ای بنویسید که یه بار آرایه ها رو استخراج کنه و به شکل فایل متنی تمیز براتون بنویسه. یعنی برنامه ای که اطلاعات رو مرتب کنه و کد c++ یا جداقل کدی نزدیک به اون رو براتون بسازه بریزه تو یک فایل متنی بعد شما اون فایل متنی رو باز کنید و محتویات رو به فایل main اضافه کنید.

jblaox
سه شنبه 18 تیر 1392, 10:19 صبح
سلام

متشکرم از پاسخ شما ، اما نمیتوانم این کار بکنم چون سرعت خیلی کاش پیدا میکنه ...

کار که من میخواهم انجام بدم این که به نحوی بتوانم 20 آرایه را از تابع دریافت کنم ، یعنی تابع بتواند 20 آرایه را به خروجی بدهد !

Ananas
سه شنبه 18 تیر 1392, 16:13 عصر
روشی که گفتم فقط یک بار موقع نوشتن برنامه استفاده میشه کاری به سرعت نداره. مثلا ممکنه شما کدی رو بخواید که صد تا عدد صحیح براتون تعریف کنه! اون موقع می نویسیم:


for (int i = 0; i < 100; i++)
{
cout << "int I_" << i << " = 0;" << endl;
};

و یا مثلا برای تعریف نقاط روی یک دایره :


for (int i = 0; i < 136; i++)
{
float x = cos(3.14 * float(i) / 360.0);
float y = sin(3.14 * float(i) / 360.0);
cout << "float * point_" << i << " = #{" << x << "," << y << "};" << endl;
};

بعد خروجی ایجاد شده رو تو برنامتون کپی میکنید.
البته بهتره آرایه باشه برای این کارها ولی فقط برای مثال گفتم که منظورمو متوجه بشید.
برای گرفتن 20 آرهیه از تابع میتونید آرایه ای از آرایه ها یا میشه بگم آرایه ای از اشاره گر ها رو کافیه برگردونید.
مثلا:

void Fn(int *** pOut, int * pCount)
{
*pCount = 20;
*pOut = (int **)malloc(sizeof(int *) * 20);
for (int i = 0; i < 20; i++)
{
(*pOut)[i] = new int[100];
};
}
//-------------------
int ** a;
int b;
Fn(&a, &b);