برگزیده های پرشین تولز

پر کردن آرایه دو بعدی

hmsn

کاربر تازه وارد
تاریخ عضویت
17 آگوست 2006
نوشته‌ها
196
لایک‌ها
0
سن
36
محل سکونت
تو يه خونمون
سلام به دوستان من با زبان C
(Turbo C) کار می کنم
آقا من دخلم اومده ، فقط می خوام یه آرایه دوبعدی رو از اطلاعات کاربر پر کنم ، ولی نمی خوام این کار رو تویه تابع main انجام بدم ، می خوام تویه یه تابع دیگه باشه
حالا می دونم که باید آرایه رو بصورت اشاره گر تویه main تعریف کنم ، بعد اونو بفرسم به تابع تا اون تابع مقدار ها رو بگیره بریزه تویه این آرایه
این تیکه کد من هست ، لطفا اشکال هاشو بگیرین یا مثال بدین خلاصه یه کمکی بکنین :
فعلا هم بصورت خیلی ساده اونو نوشتم تا روش کار بیاد دستم ، یعنی فقط یه عنصر این آرایه پر میشه
کد:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void getdata(int *);

void main() {
	int *num_row[10][10];
		clrscr();
getdata(&num_row);
printf("\n  %d ",num_row);
getch();
}



void getdata(int *num_row) {
scanf("%d",num_row[0][0]);
printf("\n  %d ",*num_row);

}
 

SadyProgrammer

کاربر تازه وارد
تاریخ عضویت
29 نوامبر 2008
نوشته‌ها
16
لایک‌ها
1
محل سکونت
Iran
با درود بر شما دوست گرامي :)

برنامه‌هاي كنسول يادش به خير!
خوب نوشتن اين برنامه كار زياد دشواري نبود تنها چند نكته هست كه بايد براي شما دوست گرامي خاطر نشان كنم:
براي تغيير دادن Base آرايه هنگام نمايش براي كاربر ثابت BASE_INDEX را تنظيم كنيد.
مقدار قابل قبول براي Base يك يا صفر است اما من Base را بر روي 1 تنظيم نمودم تا خروجي بيشتر قابل درك باشد.
و نيز براي تغيير ابعاد آرايه از 2*2 به مقداري دلخواه مي‌توانيد MAX_ARRAY را تغيير دهيد.
مي‌پندارم شما با ديدن Souce برنامه‌اي كه نوشته‌ام مي‌توانيد به تمامي اشتباهات خويش پي ببريد براي همين اشتباهات پيشين شما را بررسي نمي‌كنم.

سورس برنامه:
Array2D_SourceContents.png




ظاهر برنامه در زمان اجرا:
Array2D_RunTime.jpg




دانلود سورس كد و فايل اجرايي برنامه نوشته شده در محيط ++Visual C


فرجاميد بدين اميد كه در پناه ايزد در شادي و رامش زيويد! :)
پيروز باشيد!
 

SadyProgrammer

کاربر تازه وارد
تاریخ عضویت
29 نوامبر 2008
نوشته‌ها
16
لایک‌ها
1
محل سکونت
Iran
ممنون
واقعا ازتون خیلی ممنونم

قابلي نداشت! :)
راستي دوست گرامي فراموش نكن براي وارد كردن اين كد در محيط Turbo C بايد scanf_s را به scanf معمولي تغيير دهيد و شايد مجبور شويد بلوك try...chath(..)d را هم حذف كنيد! چون اين چيزها در استاندارد AnsiISO اضافه شدند كه فكر نمي‌كنم در Turbo C موجود باشند!

پيروز باشيد!
 
بالا