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

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

تبدیل آرایه‌ی یک‌بعدی به آرایه‌ی چندبعدی

0 امتیاز
442 نمایش

یک آرایه‌ی یک‌بعدی a[n] دارم که می‌خوام به عنوان آرایه‌ی دوبعدی ازش استفاده کنم. یا به شکل b[m][n] یا به شکل تابعی مثلاً f(a, m, n). چطور این کار رو انجام بدم؟

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

1 پاسخ

0 امتیاز

تابع زیر به سهولت این کار و انجام می‌ده

int a[100] = {0};
// manipulating array a
int f(int *a, unsigned int m, unsigned int n, unsigned int i, unsigned int j){
  return a[i*m+j];
}

در این تابع n و m ابعاد آرایه‌ی دوبعدی جدید هستند و i و j عناصری که از این آرایه‌ی دوبعدی جدید لازم داریم. البته به شرطی که n*m == 100 درست باشه.

یک نمونه برای اجرا

cout<<f(a, 5, 20, 1, 4);
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده شنبه ۲۲ تیر ۱۳۹۲ توسط prodo