نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • بررسی ها
  • پر کردن یک آرایه پاسکال یک بعدی پر کردن و پردازش یک آرایه

پر کردن یک آرایه پاسکال یک بعدی پر کردن و پردازش یک آرایه

آرایه های یک بعدی تشکیل یک آرایه و نمایش عناصر آن

تعریف مفهوم

آرایه مجموعه ای از داده های یک نوع با نام مشترک برای همه عناصر است.

عناصر آرایه شماره گذاری شده اند و هر یک از آنها با شماره قابل دسترسی هستند. تعداد عناصر آرایه در غیر این صورت شاخص نامیده می شوند و خود عناصر آرایه متغیرهای نمایه شده نامیده می شوند.

آ[n]

- 0. 5

-5.2

0.6

بردار (خطییا آرایه یک بعدی) نمونه ای از آرایه ای است که در آن عناصر با یک شاخص شماره گذاری شده اند.

  • مانند اعداد (شاخص)عنصر آرایه به طور کلی از عبارت استفاده می شود نوع ترتیبی(اغلب یک ثابت عدد صحیح یا یک متغیر از نوع عدد صحیح است: عدد صحیح, کلمه, بایتیا کوتاه)
  • هنگام دسترسی به یک عنصر آرایه، شاخص در براکت مشخص می شود. به عنوان مثال، a، جرم.
  • عناصر آرایه زمانی پردازش می شوند که شاخص های عنصر تغییر کنند. به عنوان مثال، هنگام استفاده از یک عبارت، متغیرهای زیر برای حلقه زدن عناصر یک آرایه مفید هستند:
    • a[i] - همه عناصر؛
    • الف - عناصر در مکان های زوج؛
    • الف - عناصر در مکان های عجیب و غریب

توضیحات آرایه

  • تعریف یک متغیر به عنوان یک آرایه بدون اینکه ابتدا نوع آرایه را مشخص کنید
varالف، ب، ج: آرایه از عدد صحیح; var s: آرایه از عدد صحیح; ک: آرایه از عدد صحیح;

توجه داشته باشید

    • توصیف آرایه توسط کامپایلر برای تخصیص حافظه برای عناصر آن مورد نیاز است.
    • یک متغیر به عنوان یک آرایه با استفاده از کلمه سرویس تعریف می شود آرایه(آرایه). براکت‌های مربع محدوده را نشان می‌دهند، یعنی مرزهای پایین و بالایی مقدار شاخص آرایه. مقدار حد بالا نمی تواند کمتر از حد پایین باشد.
    • در اینجا متغیرهای s و k از انواع مختلف در نظر گرفته می شوند. برای اطمینان از سازگاری، لازم است اعلان متغیرها از طریق اعلام اولیه نوع اعمال شود.
    • اگر انواع آرایه ها یکسان باشند، می توان یک آرایه را در برنامه به آرایه دیگری اختصاص داد. در این حالت، مقادیر همه متغیرهای یک آرایه به عناصر مربوطه آرایه دوم اختصاص داده می شود.
    • عملیات رابطه ای روی آرایه ها تعریف نشده اند. شما فقط می توانید دو آرایه را عنصر به عنصر مقایسه کنید.
  • توضیحات اولیه از نوع آرایه
پایان n=5; نوع mas = آرایه از عدد صحیح; varالف: mas;

توجه داشته باشید

    • عناصر آرایه به صورت زیر قابل دسترسی خواهند بود: a، a، a، a، a (یعنی آرایه شامل پنج عنصر است).
    • استفاده از ثابت ها(در این مثال، n) هنگام توصیف یک آرایه ارجح است، زیرا در صورت تغییر اندازه آرایه، نیازی به اصلاح در کل متن برنامه نخواهد بود.
  • تعیین یک آرایه به عنوان یک ثابت تایپ شده
پایانایکس: آرایه از عدد صحیح = (1, 2, 3, 4, 5, 6);

توجه داشته باشید

    • در این مثال، نه تنها حافظه برای آرایه تخصیص داده می شود، بلکه سلول ها با داده پر می شوند.
    • عناصر آرایه می تواند باشد تغییر دادندر طول برنامه (همانطور که همه ثابت های تایپ شده هستند).

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

§ برای پر کردن یک آرایهداده ها (و خروجی آن)، اغلب از یک حلقه با یک پارامتر استفاده می شود برای

§ برای پر کردن یک آرایه با اعداد تصادفی، از تابع استفاده کنید تصادفیو رویه تصادفی کردن(راه اندازی اولیه مولد اعداد تصادفی). فرمت ضبط این است: تصادفی (B - A) + A، که در آن A و B از فاصله :4 گرفته شده است.

یک برنامه نمونه برای ورودی و خروجی یک آرایه

فرمول بندی مسئله.مجموع عناصر یک آرایه از 10 عنصر صحیح را بدست آورید. عناصر آرایه از صفحه کلید وارد می شوند.

برنامهآرایه2; varجمع: عدد صحیح; من: بایت; آ: آرایه از کلمه; شروعمجموع:= 0; برایi: = 0 به 9 انجام دادن شروع نوشتن("آ["، من، " ] = "); خواندن(a[i])؛ sum:= مجموع + a[i] پایان; نوشته شده است("جمع ="، مجموع) پایان.

یک برنامه نمونه برای کار با عناصر آرایه

فرمول بندی مسئله.میانگین حسابی عناصر آرایه را بدست آورید. عناصر آرایه با اعداد تصادفی پر می شوند.

برنامهآرایه 3; پایان n=100; var sar: واقعی; جمع: عدد صحیح; من: بایت; آ: آرایه از عدد صحیح; شروعمجموع:= 0; تصادفی کردن; برایi: = 0 به n انجام دادن شروع a[i] := تصادفی(100)؛ sum:= مجموع + a[i] پایان; sar:=sum/n; نوشته شده است("سار="، سار) پایان.

بخش ها: انفورماتیک

اهداف:

  1. آشنایی دانش آموزان با امکان پر کردن و پردازش یک آرایه.
  2. یک رابط گرافیکی برای پروژه ایجاد کنید تا یک آرایه را پر کند و مجموع عناصر یک آرایه معین را محاسبه کنید.
  3. ایجاد علاقه شناختی به موضوع
  4. نگرش مسئولانه نسبت به یادگیری را در خود پرورش دهید

در طول کلاس ها

1. به روز رسانی درس

زمان سازماندهی

بررسی جبهه ای در مورد موضوع قبلی «مفهوم آرایه. آرایه یک بعدی”

2. شکل گیری مهارت ها و توانایی ها

توضیح مطالب جدید

اعلام آرایه

یک آرایه به همان روشی که اعلان متغیر اعلام می شود، فقط باید محدوده تغییر شاخص را مشخص کرد. به عنوان مثال، یک آرایه عدد صحیح یک بعدی حاوی 10 عنصر به صورت زیر اعلام می شود:

الف: آرایه ای از اعداد صحیح؛

وظایف اصلی هنگام کار با آرایه ها

1. تشکیل (پر کردن) یک آرایه

1.1. طبق فرمول های i:=1 تا 10 a[i]:= i*i;

1.2. تولید تصادفی برای i:=1 تا 10 a[i]:= تصادفی(20):

تابع داخلی RANDOM(MAX)، یک عدد صحیح تصادفی را برمی گرداند که به طور یکنواخت در محدوده 0 تا MAX - 1 توزیع شده است (MAX پارامتر وارونگی است)

1.3. از صفحه کلید وارد کنید برای i:=1 تا 10 do read(a[i]);

2. مرتب سازی آرایه (صعودی، نزولی).

3. جستجو برای عناصر در یک آرایه.

4. انتخاب عناصر از یک آرایه بر اساس شرایط.

پر کردن یک آرایه به صورت تصادفی

برای شروع کار با یک آرایه، باید پر شود، یعنی. به عناصر آرایه مقادیر خاصی اختصاص دهید. برای تولید دنباله ای از اعداد تصادفی، از تابع Random(100) استفاده کنید. هنگامی که برنامه را اجرا می کنید، این تابع یک دنباله شبه تصادفی از اعداد صحیح را در محدوده 0 تا 100 نمایش می دهد.

برای تولید دنباله هایی از اعداد تصادفی که با یکدیگر متفاوت هستند، توصیه می شود از عملگر Randomize استفاده کنید.

اقدامات با آرایه های یک بعدی

1. محاسبه مجموع عناصر

برای I:= 1 تا 10 آیا s:=s+ a[i]; (انباشت معمولی مجموع در s)

2. محاسبه محصول

برای I:= 1 تا 10 آیا p:=p* a[i]; (انباشت محصول معمول در p)

3. عنصری با مقدار مشخص را جستجو کنید

3. توجه داشته باشید تغییر مهارت ها در عمل

پروژه "مجموع عناصر در یک آرایه". بیایید پروژه "مجموع عناصر در یک آرایه" را توسعه دهیم، که آرایه را با اعداد تصادفی پر می کند و مجموع این اعداد را محاسبه می کند.

ابتدا بیایید یک رویه پر کردن آرایه ایجاد کنیم.

1. سیستم برنامه نویسی دلفی را راه اندازی کنید.

2. کار بر روی پروژه با ایجاد یک رابط گرافیکی، برای این، در پنجره آغاز می شود فرم سازکنترل ها روی فرم قرار می گیرند. برای ایجاد یک رابط گرافیکی برای پروژه، دو فیلد متنی برای نمایش داده های عددی (یکی برای پر کردن آرایه، دیگری برای نمایش مقدار) و دو دکمه برای اجرای رویه های رویداد روی فرم قرار می دهیم: پر کردن آرایه و جمع.

3. استفاده از نوار ابزاریک قسمت متن Editl و یک دکمه فرمان Buttonl را در فرم Forml قرار دهید

مرحله بعدی کدگذاری رویه های رویداد است. با دوبار کلیک بر روی دکمه ای که می خواهید کد برنامه برای آن ایجاد کنید، پنجره ظاهر می شود کد برنامهبا یک خرد رویه رویداد خالی.

4. روی دکمه Buttonl دوبار کلیک کنید، یک قطعه خرد از رویه رویداد TForml.ButtonlClick ظاهر می شود: یک آرایه را اعلام کنید آو توصیف متغیرها استدر بخش اعلام var

الف: آرایه عدد صحیح؛

رویه TForm1.Button1Click(فرستنده: TObject);

برای I:= 1 تا 10 انجام دهید

A[I] := تصادفی(10);

Edit1.Text:= Edit1.Text +" " + IntToStr(a[i]);

5. ذخیره پروژه به عنوان

6. تدوین پروژه (پروژه - کامپایل)

حال بیایید رویه ای برای محاسبه مجموع عناصر در آرایه پر شده ایجاد کنیم

با استفاده از نوار ابزار صاجازه دهید دکمه Button2 و قسمت متن Edit2 را در فرم Forml قرار دهیم. با دوبار کلیک کردن روی دکمه Button2 که می خواهید کد برنامه برای آن ایجاد کنید، پنجره ظاهر می شود کد برنامهبا یک خرد رویه رویداد خالی.

روش TForm1.Button2Click(فرستنده: TObject);

برای I:= 1 تا 10 انجام دهید

Edit2.Text:= Edit2.Text +" " + IntToStr(s)

ذخیره پروژه کل پروژه (Save Project).

بیایید پروژه را کامپایل کنیم (با فشار دادن کلید F9).

روی دکمه های Fill آرایه و Sum کلیک کنید.

فیلد متن نتایج حاصل از مبالغ را برای گزینه های مختلف پر کردن نمایش می دهد.

4. جمع بندی

5. تکلیف خانه: ایجاد یک پروژه "محصول عناصر آرایه"، که برای پر کردن آرایه با اعداد تصادفی و امکان نمایش حاصلضرب همه عناصر در آرایه در یک فیلد متنی فراهم می کند.

یک آرایه یک بعدی دنباله ای نامگذاری شده از عناصر شماره دار از همان نوع است. عناصر می توانند هر کدام در دسترس باشند پاسکال(به استثنای فایل) نوع داده. یک عدد که شاخص نیز نامیده می شود، دارای هر عنصر آرایه است. شاخص باید از نوع ترتیبی باشد. یک آرایه یک بعدی را می توان هر دو به عنوان یک متغیر اعلام کرد:

var<имя переменной>: آرایه ای از<тип элементов>;

مثل این:

نوع<имя типа>= آرایه از<тип элементов>;

اینجا مترتعداد عنصر اول است و n- آخرین به عنوان مثال، اگر محدوده به صورت: مشخص شود، به این معنی است که یک آرایه یک بعدی با ابعاد 10 عنصر با شاخص های 1 تا 10 تعریف شده است.

برای دسترسی به یک عنصر آرایه، باید نام و شماره آن را مشخص کنید: mas[i]، در اینجا mas نام است، i شماره است. در برنامه زیر یک آرایه را اعلام می کنیم و عملیات ساده ای را روی عناصر آن انجام می دهیم.

1
2
3
4
5
6
7
8
9
10
11
12

برنامه array_primer;
usecrt;
var mas, A: آرایه [ 1 ..10 ] of real ;
شروع
clrscr;
mas[ 1 ] := 32 ;
mas[ 5 ] := 13 ;
mas[ 9 ] := 43 ;
A[ 1 ] := (mas[ 9 ] - mas[ 1 ] ) * mas[ 5 ] ;
نوشتن (A[ 1 ] : 5 : 2 ) ;
کلید خواندن؛
پایان.

به یک معنا، شما می توانید با آرایه ها درست مانند متغیرهای معمولی کار کنید، اما برای مثال، موقعیتی را تصور کنید که باید یک آرایه متشکل از ده ها یا هزاران عنصر را پر کنید. انجام این کار با یک حلقه راحت تر خواهد بود. ساختار زیر یک آرایه را با اعداد پر می کند و آنها را روی صفحه نمایش می دهد.

برای i:=1 تا n انجام
شروع
mas[i]:=i;
نوشتن(mas[i]:3);
پایان؛

اگر می خواهید آرایه از مقادیر وارد شده از صفحه کلید تشکیل شده باشد، به سادگی انتساب را با عبارت read جایگزین کنید. همچنین موقعیت هایی وجود دارد که می خواهید یک آرایه را با اعداد تصادفی پر کنید. برنامه زیر به هر عنصر یک مقدار تصادفی به نوبه خود اختصاص می دهد.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

برنامه آرایه_تصادفی;
usecrt;
var i: عدد صحیح ;
mas: آرایه [ 1 ..100 ] از عدد صحیح ;
شروع
clrscr;
تصادفی کردن
برای i:= 1 تا 100 انجام دهید
شروع
mas[ i] := تصادفی(10) ;
نوشتن (mas[i] : 2 ) ;
پایان ؛
کلید خواندن؛
پایان.

مشکلات گسترده مرتبط با انواع مختلف الگوریتم های قابل اجرا در آرایه ها. در میان آنها، روش های جستجو و مرتب سازی عناصر از محبوبیت خاصی برخوردار است. اما هر یک از این الگوریتم ها نیاز به مطالعه فردی دارند، بنابراین می توانید در مقالات دیگر با آنها آشنا شوید:

الگوریتم های مرتب سازی:

الگوریتم های جستجو:

در میان کم پیچیدگی ها و در عین حال تقاضا، روش هایی برای تعیین تعداد عناصر مثبت و منفی، حداقل و حداکثر است. بیایید آنها را در نظر بگیریم.

یافتن حداکثر عنصر در یک آرایه:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

برنامه array_max;
usecrt;
نوع آرایه= آرایه [ 1 ..10 ] کلمه ;
var i، حداکثر: عدد صحیح ;
ج: عظیم
شروع
clrscr;
برای i:= 1 تا 10 انجام دهید
شروع
write('Element #' , i: 2 , '=' ) ;
خواندن (A[i] ) ; (ورودی صفحه کلید)
پایان ؛
حداکثر:= A[ 1 ] ; (اجازه دهید اولین عنصر حداکثر باشد)
برای i:= 1 تا 10 انجام دهید
اگر حداکثر نوشتن ;
نوشتن( "عنصر حداکثر ="، حداکثر)؛
کلید خواندن؛
پایان.

برای ایجاد برنامه ای برای یافتن عنصر حداقل، فقط باید علامت را تغییر دهید< в 15 строке на >.

تعیین تعداد عناصر مثبت:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

درس از سریال: " زبان برنامه نویسی پاسکال»

هنگامی که یک آرایه اعلام شد، می توانید با آن کار کنید. به عنوان مثال، تخصیص مقادیر به عناصر آرایه و به طور کلی رفتار با آنها مانند متغیرهای معمولی. برای دسترسی به یک عنصر خاص، باید شناسه آرایه (نام) و شاخص عنصر را در پرانتز مشخص کنید.

به عنوان مثال، علامت Mas، A به شما امکان می دهد به عنصر دوم آرایه MAS و عنصر دهم آرایه A دسترسی داشته باشید. هنگام کار با یک آرایه دو بعدی، دو شاخص نشان داده می شود، با یک آرایه n بعدی، n شاخص ها

به عنوان مثال، ورودی Matr برای پردازش مقدار عنصر واقع در ردیف چهارم از ستون چهارم آرایه M در دسترس قرار می‌گیرد.

عناصر آرایه نمایه شده را متغیرهای نمایه شده می نامند. فراتر از مرزهای آرایه غیرممکن است. یعنی اگر پنج عنصر در آرایه Mas وجود داشته باشد، دسترسی به عنصر ششم یا هشتم منجر به خطا می شود.

عملیات معمولی را در نظر بگیرید که هنگام کار با آرایه های یک بعدی ایجاد می شود.

پر کردن یک آرایه یک بعدی با مقادیر

پر کردن و خروجی یک آرایهفقط می توان عنصر به عنصر انجام داد، یعنی ابتدا می توانید یک مقدار را به عنصر اول، سپس به دوم، و به همین ترتیب، با نمایش روی صفحه نمایش دهید - اول، دوم، سوم و به همین ترتیب تا آخرین

پاسکال ابزار ورودی-خروجی عناصر آرایه را به طور همزمان ندارد، بنابراین ورودی و مقادیر عنصر به عنصر انجام می شوند. مقادیر را می توان با استفاده از عملگر انتساب به یک عنصر آرایه اختصاص داد یا با استفاده از دستورات Readln یا Readln از صفحه کلید وارد کرد. تکرار روی تمام عناصر یک آرایه در یک حلقه for بسیار راحت است.

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

  1. وارد کردن مقدار از صفحه کلید
  2. تنظیم مقادیر در یک بیانیه انتساب با استفاده از یک مولد اعداد تصادفی. این روش زمانی راحت تر است که عناصر زیادی در آرایه وجود داشته باشد (مدت زیادی طول می کشد تا مقادیر آنها را از صفحه کلید وارد کنید).
  3. تنظیم مقادیر بر اساس فرمول
  4. وارد کردن عناصر آرایه از یک فایل

1. وارد کردن مقادیر عناصر آرایه از صفحه کلید. با توجه به اینکه دستور Readln استفاده شده است، هر مقدار در یک خط جدید وارد می شود.

2. پر کردن یک آرایهاعداد به طور تصادفی از بازه تولید می شوند. ما مولد اعداد تصادفی - تابع تصادفی را وصل می کنیم.

3. پر كردن آرایهطبق فرمول به هر عنصر آرایه مقدار محاسبه شده توسط فرمول اختصاص داده می شود. اگر هر عنصر آرایه برابر با سه برابر مقدار سریال (شاخص) آن باشد، روش کار به این صورت خواهد بود:

4. خواندن اعداد از یک فایل. شما باید از قبل یک فایل متنی ایجاد کنید که در آن چندین خط را بنویسید که هر کدام شامل 30 عدد است.

نمایش مقادیر عناصر آرایه بر روی صفحه نمایش

نتیجهمقادیر عناصر آرایهروی صفحه، مانند ورودی، عنصر به عنصر در یک حلقه انجام می شود. برای خروجی، از دستور Write یا Writeln استفاده می کنیم. به عنوان پارامترهای ورودی، نه تنها یک آرایه، بلکه تعداد عناصری را که باید نمایش داده شوند، از اول شروع می کنیم (زمانی که عناصر را در آرایه حذف و اضافه می کنیم به این نیاز خواهیم داشت).

مثال 1آرایه را از صفحه کلید پر کنید و روی صفحه نمایش دهید.

راه حل.

برنامه از دو رویه استفاده می کند: رویه Init1 (پر کردن آرایه از صفحه کلید) و رویه Print (خروجی آرایه به صفحه).

مثال 2یک آرایه را از یک فایل متنی پر کنید و آن را روی صفحه نمایش دهید. چندین خط در یک فایل متنی وجود دارد که هر خط شامل 30 عدد است.

شما یاد گرفته اید که چگونه یک آرایه یک بعدی را پر کنید و آن را روی صفحه نمایش دهید.

در درس بعدی با الگوریتم های پردازش آرایه های تک بعدی آشنا می شویم.

آرایه ساختار داده ای است که به صورت گروهی از سلول های یک نوع نمایش داده می شود که تحت یک نام واحد متحد شده اند. آرایه ها برای پردازش مقادیر زیادی از داده های یک نوع استفاده می شوند. نام آرایه است، اشاره گر چیست که کمی بعد توضیح خواهم داد. یک سلول داده آرایه منفرد، عنصر آرایه نامیده می شود. عناصر آرایه می توانند هر نوع داده ای باشند. آرایه ها می توانند یک یا چند بعد داشته باشند. بسته به تعداد ابعاد، آرایه ها به آرایه های یک بعدی، آرایه های دو بعدی، آرایه های سه بعدی و غیره تا یک آرایه n بعدی تقسیم می شوند. اغلب در برنامه نویسی از آرایه های یک بعدی و دو بعدی استفاده می شود، بنابراین فقط این آرایه ها را در نظر می گیریم.

آرایه های یک بعدی در C++

آرایه یک بعدی آرایه ای با یک پارامتر است که تعداد عناصر یک آرایه یک بعدی را مشخص می کند. در واقع آرایه یک بعدی آرایه ای است که فقط می تواند یک سطر و n ستون داشته باشد. ستون های یک آرایه یک بعدی عناصر آرایه هستند. شکل 1 ساختار یک آرایه یک بعدی اعداد صحیح را نشان می دهد آ. اندازه این آرایه 16 سلول است.

شکل 1 - آرایه ها در C++

توجه داشته باشید که حداکثر شاخص یک آرایه یک بعدی است آ 15 است، اما اندازه آرایه 16 سلول است، زیرا شماره گذاری سلول های آرایه همیشه از 0 شروع می شود. شاخص سلول یک عدد صحیح غیر منفی است که توسط آن می توانید به هر خانه آرایه دسترسی داشته باشید و هر عملی را روی آن انجام دهید ( سلول).

// نحو برای اعلان یک آرایه یک بعدی در C++: /*نوع داده*/ /*نام آرایه یک بعدی*/; //نمونه ای از اعلان یک آرایه تک بعدی نشان داده شده در شکل 1: int a;

که در آن، int یک عدد صحیح است.

A نام یک آرایه یک بعدی است.
16 اندازه یک آرایه یک بعدی است، 16 سلول.

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

//روشی دیگر برای اعلام آرایه های یک بعدی int mas, a;

دو آرایه تک بعدی mas و a به ترتیب با اندازه های 10 و 16 اعلام شده اند. علاوه بر این، در این روش اعلان، همه آرایه ها دارای یک نوع داده خواهند بود، در مورد ما، int.

// آرایه‌ها را می‌توان مقداردهی اولیه کرد: int a = ( 5، -12، -12، 9، 10، 0، -9، -12، -1، 23، 65، 64، 11، 43، 39، -15 ) // مقداردهی اولیه یک آرایه یک بعدی

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

Int a=(5,-12,-12,9,10,0,-9,-12,-1,23,65,64,11,43,39,-15); // مقداردهی اولیه آرایه بدون تعیین اندازه آن.

در این حالت خود کامپایلر اندازه یک آرایه یک بعدی را تعیین می کند. اندازه یک آرایه را فقط زمانی می توان حذف کرد که مقداردهی اولیه شود، در هنگام اعلام یک آرایه به طور معمول، باید اندازه آرایه را مشخص کنید. بیایید یک برنامه ساده برای پردازش یک آرایه تک بعدی ایجاد کنیم.

// array.cpp: نقطه ورودی برنامه کنسول را تعریف می کند. #include "stdafx.h" #include << "obrabotka massiva" << endl; int array1 = { 5, -12, -12, 9, 10, 0, -9, -12, -1, 23, 65, 64, 11, 43, 39, -15 }; // объявление и инициализация одномерного массива cout << "indeks" << "\t\t" << "element massiva" << endl; // печать заголовков for (int counter = 0; counter < 16; counter++) //начало цикла { //вывод на экран индекса ячейки массива, а затем содержимого этой ячейки, в нашем случае - это целое число cout << "array1[" << counter << "]" << "\t\t" << array1 << endl; } system("pause"); return 0; }

// کد کد::Blocks

// کد Dev-C++

// array.cpp: نقطه ورودی برنامه کنسول را تعریف می کند. #عبارتند از با استفاده از namespace std. int main(int argc، char* argv) (cout<< "obrabotka massiva" << endl; int array1 = { 5, -12, -12, 9, 10, 0, -9, -12, -1, 23, 65, 64, 11, 43, 39, -15 }; // объявление и инициализация одномерного массива cout << "indeks" << "\t\t" << "element massiva" << endl; // печать заголовков for (int counter = 0; counter < 16; counter++) //начало цикла { //вывод на экран индекса ячейки массива, а затем содержимого этой ячейки, в нашем случае - это целое число cout << "array1[" << counter << "]" << "\t\t" << array1 << endl; } return 0; }

AT خطوط 10 - 11آرایه یک بعدی اعداد صحیح با نام array1 که اندازه آن برابر با 16 خانه است، اعلام و مقداردهی اولیه شده است، یعنی چنین آرایه ای می تواند 16 عدد را ذخیره کند. هر گونه پردازش یک آرایه فقط در ارتباط با حلقه ها امکان پذیر است. اینکه کدام چرخه را برای پردازش آرایه انتخاب کنید به شما بستگی دارد. اما برای این کار مناسب تر است. ما از شمارنده متغیر شمارنده برای اشاره به عناصر آرایه یک بعدی 1 استفاده خواهیم کرد. یک علامت نابرابری دقیق در شرط ادامه حلقه for وجود دارد، زیرا هیچ شاخص شانزدهم در آرایه یک بعدی وجود ندارد. و از آنجایی که شماره گذاری سلول ها از صفر شروع می شود، 16 عنصر در آرایه وجود دارد. در بدنه حلقه for، دستور cout عناصر یک آرایه یک بعدی را چاپ می کند (شکل 2 را ببینید).

آرایه پردازشی آرایه 1 آرایه 1 آرایه 1 5 آرایه 1 -12 آرایه 1 -12 آرایه 1 9 آرایه 1 10 آرایه 1 0 آرایه 1 -9 آرایه 1 -12 آرایه 1 -1 آرایه 1 23 آرایه1 65 آرایه 1 64 آرایه 1 11 آرایه 1 43 هر آرایه 159 کلید ادامه را فشار دهید. . .

شکل 2 - آرایه ها در C++

بیایید برنامه دیگری برای پردازش یک آرایه یک بعدی در C++ ایجاد کنیم. برنامه باید به ترتیب ده عدد وارد شده را از صفحه کلید بخواند. تمام اعداد وارد شده را جمع کنید، نتیجه را روی صفحه نمایش دهید.

// array_sum.cpp: نقطه ورودی برنامه کنسول را تعریف می کند. #include "stdafx.h" #include << "Enter elementi massiva: " << endl; int sum = 0; for (int counter = 0; counter < 10; counter++) // цикл для считывания чисел cin >> << "array1 = {"; for (int counter = 0; counter < 10; counter++) // цикл для вывода элементов массива cout << array1 << " "; // выводим элементы массива на стандартное устройство вывода for (int counter = 0; counter < 10; counter++) // цикл для суммирования чисел массива sum += array1; // суммируем элементы массива cout << "}\nsum = " << sum << endl; system("pause"); return 0; }

// کد کد::Blocks

// کد Dev-C++

// array_sum.cpp: نقطه ورودی برنامه کنسول را تعریف می کند. #عبارتند از با استفاده از namespace std. int main(int argc, char* argv) ( int array1; // یک آرایه عدد صحیح cout را اعلام کنید<< "Enter elementi massiva: " << endl; int sum = 0; for (int counter = 0; counter < 10; counter++) // цикл для считывания чисел cin >> array1; // اعداد وارد شده از صفحه کلید را بخوانید<< "array1 = {"; for (int counter = 0; counter < 10; counter++) // цикл для вывода элементов массива cout << array1 << " "; // выводим элементы массива на стандартное устройство вывода for (int counter = 0; counter < 10; counter++) // цикл для суммирования чисел массива sum += array1; // суммируем элементы массива cout << "}\nsum = " << sum << endl; return 0; }

قبل از پردازش یک آرایه، باید آن را اعلان کرد و اندازه یک آرایه یک بعدی 10 است، زیرا این با شرط مشکل مشخص می شود. در متغیر sum مجموع عناصر یک آرایه یک بعدی را جمع می کنیم. اولین حلقه for آرایه یک بعدی اعلام شده را با اعداد وارد شده از صفحه کلید پر می کند. خطوط 12 - 13. متغیر شمارنده برای دسترسی متوالی به عناصر آرایه آرایه یک بعدی 1، از شاخص 0 و تا 9ام استفاده می شود. دومین حلقه for عناصر آرایه را نمایش می دهد، خطوط 15 - 16. سومین حلقه for به صورت متوالی عناصر یک آرایه یک بعدی را می خواند و آنها را جمع می کند، مجموع در متغیر sum جمع می شود. خطوط 17 - 18. نتیجه برنامه را در شکل 3 ببینید.

elementi massiva را وارد کنید: 0 1 2 3 4 5 6 7 8 9 array1 = (0 1 2 3 4 5 6 7 8 9 ) sum = 45 برای ادامه هر کلیدی را فشار دهید. . .

شکل 3 - آرایه ها در C++

ابتدا تمام 10 عدد به ترتیب وارد شدند و پس از آن یک آرایه تک بعدی نمایش داده شد و مجموع اعداد موجود در آرایه چاپ شد.

آرایه های دو بعدی در C++

تا اینجا، آرایه های یک بعدی را در نظر گرفته ایم که همیشه نمی توان آنها را محدود کرد. فرض کنید باید برخی از داده ها را از یک جدول پردازش کنید. یک جدول دو ویژگی دارد: تعداد سطرها و تعداد ستون ها. همچنین در یک آرایه دو بعدی، علاوه بر تعداد عناصر آرایه، ویژگی هایی مانند تعداد ردیف ها و تعداد ستون های یک آرایه دو بعدی وجود دارد. یعنی از نظر بصری، یک آرایه دو بعدی یک جدول منظم است که دارای سطر و ستون است. در واقع آرایه دو بعدی آرایه ای یک بعدی از آرایه های یک بعدی است. ساختار یک آرایه دو بعدی به نام a با اندازه m در n در زیر نشان داده شده است (شکل 4 را ببینید).

شکل 4 - آرایه ها در C++

که در آن m تعداد ردیف های یک آرایه دو بعدی است.
n تعداد ستون های آرایه دو بعدی است.
m * n تعداد عناصر آرایه است.

// نحو برای اعلام یک آرایه دو بعدی /*نوع داده*/ /*نام آرایه*/;

در اعلان یک آرایه دو بعدی و همچنین در اعلان یک آرایه یک بعدی، اولین کاری که باید انجام دهید این است که مشخص کنید:

  • نوع داده؛
  • نام آرایه

پس از آن، تعداد ردیف‌های آرایه دو بعدی در اولین کروشه، تعداد ستون‌های آرایه دو بعدی در پرانتز دوم نشان داده شده است. یک آرایه دو بعدی از نظر بصری با یک آرایه یک بعدی توسط جفت دوم براکت مربع متفاوت است. مثالی از اعلان یک آرایه دو بعدی را در نظر بگیرید. فرض کنید باید یک آرایه دو بعدی را با تعداد عناصر برابر با 15 اعلام کنیم. در این حالت، یک آرایه دو بعدی می تواند سه سطر و پنج ستون یا پنج سطر و سه ستون داشته باشد.

// مثالی از اعلان یک آرایه دو بعدی: int a;

  • a - نام آرایه عدد صحیح
  • عدد در اولین پرانتز نشان دهنده تعداد ردیف های آرایه دو بعدی است، در این مورد 5.
  • عدد در پرانتز دوم، تعداد ستون های آرایه دو بعدی را مشخص می کند، در این مورد 3.

// مقداردهی اولیه یک آرایه دو بعدی: int a = ( (4، 7، 8)، (9، 66، -1)، (5، -5، 0)، (3، -3، 30)، ( 1، 1، یک)))

این آرایه دارای 5 سطر، 3 ستون است. بعد از علامت تخصیص، براکت‌های مجعد کلی قرار می‌گیرند که داخل آن‌ها به اندازه‌ای که باید در یک آرایه دوبعدی، جفت براکت مجعد وجود داشته باشد، وجود دارد و این براکت‌ها با کاما از هم جدا می‌شوند. در هر جفت براکت فرفری، عناصر یک آرایه دو بعدی را که با کاما از هم جدا شده اند، بنویسید. همه بریس های فرفری باید تعداد عناصر یکسانی داشته باشند. از آنجایی که پنج رشته در آرایه وجود دارد، پنج جفت براکت داخلی نیز وجود دارد. سه عنصر در پرانتز داخلی نوشته شده است، زیرا تعداد ستون ها سه است. از نظر گرافیکی، آرایه ما شبیه یک جدول دو بعدی خواهد بود (شکل 5 را ببینید).

شکل 5 - آرایه ها در C++

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

بیایید یک برنامه ساده برای پردازش یک آرایه دو بعدی ایجاد کنیم که به آن "Labyrinth" می گویند. پیچ و خم باید بر اساس یک آرایه دو بعدی ساخته شود. اندازه پیچ و خم به شما بستگی دارد.

// array2.cpp: نقطه ورودی برنامه کنسول را تعریف می کند. #include "stdafx.h" #include < 33; i++) //переключение по строкам { for (int j = 0; j < 20; j++)// переключение по столбцам if (mas[i][j] == 1) { // вывести два раза символ (номер которого 176 в таблице аски) в консоль cout << static_cast(176)؛ کوت<< static_cast(176)؛ ) دیگر کوت<< " "; // вывести два пробела cout << endl; } system("pause"); return 0; }

// کد کد::Blocks

// کد Dev-C++

// array2.cpp: نقطه ورودی برنامه کنسول را تعریف می کند. #عبارتند از با استفاده از namespace std. int main(int argc, char* argv) ( // 1-شرط "میز دیوارها" // 2-"مسیر صحیح، خروجی پیچ و خم" // 0-"مسیر نادرست" int mas = (1،2،1، 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// مقداردهی اولیه یک آرایه دو بعدی (1,2, 1,0,0,1,0,1,2,2,2,1,1,1,1,0,0,0,0,1,1, (1,2,1,1,0,1) 0, 1,2,1,2,2,2,2,1,0,1,1,0,1, (1,2,2,2,2,2,2,1,2,1, 1,1,1,2,1,0,0,1,0,1,, (1,1,1,1,1,1,2,1,2,1,0,0,1,2 , 1,1,0,1,0,1,, (1,0,0,1,0,0,2,2,2,1,1,0,0,2,0,0,0, 1،0،1،)، (1،0،1،1،0،1،1،1،1،1،0،0،1،2،1،1،1،1،0،1،) , (1,0,0,0,0,0,0,0,0,1,1,1,1,2,1,0,0,0,0,1,) (1,1,1) , 1,1,1,0,1,1,1,2,2,2,2,1,0,1,1,1,1, (1,1,0,0,0,1,0, 0,1,1,2,1,1,1,1,0,0,0,0,1, (1,0,0,1,0,0,0,0,0,1, 2,2 ,2,2,1,1,1,1,0,1,, (1,1,1,1,1,1,1,1,1,1,1,1,1,2,1, 0,0,0,0,1, (1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,1, 1,1,1 ,), (1,2,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,) , (1,2 ,1,0,0,0,1,2,2,2,1,0,0,0,0,0,1,1,0,1, (1,2,1 ,1,1, 1,1,2,1,2,1,1,1,0,1,0,0,0,0,1,1, (1,2,1,2,2,2, 1,2,1) ,2,2,2,1,1,1,1,1,1,1,1,, (1,2,1,2,1,2,1,2,1,0 ,1,2, 2،2،2،2،2،2،2،1، (1،2،1،2،1،2،1) ,2,1,0,1,1,1,1,1,1,1,1,2,1,1, (1,2,1,2,1,2,1,2,1,0, 0,0,0,0,0,0,0,0,2,1, (1,2,1,2,1,2,2,2,1,0,1,1,1,1,1 ,1,0,1,2,1,, (1,2,1,2,1,1,1,1,1,0,0,0,1,0,1,0,0, 1, 2،1،)، (1،2،1،2،2،1،0،0،1،1،1،0،0،0،1،0،1،1،2،1،)، ( 1,2,1,1,2,1,1,0,0,0,0,0,1,0,1,0,0,1,2,1, (1,2,1,1) ,2,1,0,0,1,1,1,1,1,1,1,1,1,1,2,1, (1,2,1,1,2,1, 1, 0,1,2,2,2,2,2,2,2,2,2,2,1, (1,2,1,1,2,1,0,0,1,2,1,1 ,1,1,1,1,1,1,1,1,, (1,2,1,1,2,1,0,1,1,2,1,1,1, 1,1, 1,1,1,2,2,, (1,2,1,1,2,1,0,0,1,2,1,1,2,2,2,2,2,2,2 ,1,), (1,2,1,1,2,1,0,1,1,2,1,1,2,1,1,1,1,1,1,1, ) (1 ,2,1,1,2,1,0,0,1,2,1,1,2,1,0,0,0,1,0,1,, (1,2, 2,2, 2,1,0,1,1,2,2,2,2,0,0,1,0,0,0,1, (1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1,1,) ); // دو حلقه - داخلی و خارجی، که به هر عنصر آرایه برای (int i = 0; i) دسترسی دارند< 33; i++) //переключение по строкам { for (int j = 0; j < 20; j++)// переключение по столбцам if (mas[i][j] == 1) { // вывести два раза символ (номер которого 176 в таблице аски) в консоль cout << static_cast(176)؛ کوت<< static_cast(176)؛ ) دیگر کوت<< " "; // вывести два пробела cout << endl; } return 0; }

مسیرهای صحیح و نادرست را می توان با یک عدد مشخص کرد، به عنوان مثال، صفر، اما برای وضوح، مسیر صحیح با عدد 2 نشان داده می شود. آرایه به صورت دستی مقداردهی اولیه شد، فقط برای ساده کردن برنامه. از آنجایی که برنامه در حال پردازش یک آرایه دو بعدی است، دو حلقه برای جابجایی بین عناصر یک آرایه دو بعدی مورد نیاز است. اولین حلقه for بین ردیف های یک آرایه دو بعدی جابجا می شود. از آنجایی که 33 ردیف در یک آرایه دو بعدی وجود دارد، متغیر شمارنده i از 0 به 33 افزایش می یابد. خط 46. در داخل حلقه اول یک حلقه for وجود دارد که از طریق عناصر یک ردیف آرایه دو بعدی می چرخد. در بدنه حلقه for دوم، یک عملیات تبدیل نوع داده یکنواخت در داخل - static_cast انجام می شود<>() ، که کاراکتر را در شماره 176 چاپ می کند. عملیات تبدیل نوع داده برای افزایش عرض ماز کپی شده است. نتیجه برنامه (شکل 6 را ببینید).

شکل 6 - آرایه ها در C++

برترین مقالات مرتبط