اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

استفاده از آرایه‌ی چندبعدی به صورت یک‌بعدی

+1 امتیاز
714 نمایش

یک آرایه‌ی دوبعدی دارم به صورت a[n][m] و می‌خوام به صورت یک آرایه‌ی یک‌بعدی m*n تایی ازش استفاده کنم. با چه روشی می‌تونم این کار و انجام بدم؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده پنجشنبه ۲۲ فروردین ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

+1 امتیاز

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

unsigned int i;
cin>>i;
if (i<=m*n){
int x;
int y;
x=i/m;
y=i%m;
y--;
cin>>a[x][y];
}

براي چاپ مقادير:

unsigned int i;
cin>>i;
if (i<=m*n){
int x;
int y;
x=i/m;
y=i%m;
y--;
cout<<a[x][y]<<endl;
}

y-- واسه اينه كه ايندكس هاي آرايه از 0 شروع ميشه...

Don't Expect Anyone Except Yourself,...
پاسخ داده شده پنجشنبه ۲۲ فروردین ۱۳۹۲ توسط Arash  
ویرایش شده یکشنبه ۱ اردیبهشت ۱۳۹۲ توسط Arash

یه اشکال بسیار ظریف! اون i باید بدون علامت باشه که مشکلی پیش نیاد!

ممنون از دقت بسيار زيادت...

خواهش می‌کنم رفیق
امیدوارم این «بسیار زیاد» کنایه‌ای به معنای «زیادی» نباشه ;)
چون زبان‌هایی که کامپایلری هستند و زیاد با استثنائات میونه‌ی خوبی ندارن باید قبل از کامپایل بسیار حساب‌شده نوشته بشن. ایرادهایی این طوری گاهی می‌تونه یه API رو کاملاً زمین‌گیر کنه!

نه. به هيچوجه منظورم زيادي نبود...
ممنون:))