الگوریتمستان - سیپلاسپلاس
نوشتهها با موضوع سیپلاسپلاس
الگوریتمستان
برچسبها
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
الگوریتم
برنامهنویسی
مسئله الگوریتمی
ریاضیات
منبع آموزشی
پایتون
یادگیری ماشین
هوش مصنوعی
الگوریتم تقسیم و غلبه
الگوریتم بازگشتی
طراحی الگوریتم
الگوریتم برنامهنویسی پویا
مقاله آموزشی
محاسبات ریاضی
نکته برنامهنویسی
کتاب مسابقات برنامهنویسی
پیمایش گراف
الگوریتم مرتبسازی
ساختمان داده
الگوریتم حریصانه
الگوریتم گراف
کتاب یادگیری ماشین
الگوریتم مسیریابی
ماتریس
ویدئوی آموزشی
جستجوی اول سطح
بازی فکری
الگوریتم کوتاهترین مسیر
درخت دودویی
الگوریتم دایکسترا
امنیت اطلاعات
مسئله کولهپشتی
صف
الگوریتم فلوید-وارشال
جستجوی اول عمق
معرفی وبسایت
الگوریتم عقبگرد
کتاب Competetive Programming
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
الگوریتم
ویراست سوم کتاب برنامهنویسی رقابتی با نام کامل Competitive Programming 3: The New Lower Bound of Programming Contests با تلاش Steven Halim و Felix Halim از مربیان تیمهای برنامهنویسی ACM-ICPC سنگاپور تالیف و در سال ۲۰۱۳ منتشر شده است که امروزه به عنوان یکی از منابع مناسب برای آمادگی تیمهای شرکتکننده در مسابقات برنامهنویسی الگوریتمی بویژه مسابقات برنامهنویسی ACM-ICPC توصیه میشود ...
پیچیدگی زمانی اجرای الگوریتم
سیپلاسپلاس
الگوریتم
طراحی الگوریتم
زمانی که برای حل یک مسئله الگوریتم طراحی میکنیم یا قصد استفاده از یک الگوریتم از پیش ابداع شده را داریم، عموما برایمان مهم است بدانیم کارآیی الگوریتم چگونه است و تا چه حد میتوان روی آن حساب باز کرد ...
نکتهای در مورد کلاسها و مجموعهها در ++C
سیپلاسپلاس
برنامهنویسی
نکته برنامهنویسی
زبان برنامهنویسی ++C دو کلاس set و unordered_set را برای پیادهسازی مفهوم مجموعه (ظرفی با عناصر غیرتکراری) دارد. کلاس set علاوه بر بررسی تکراری نبودن عناصر، آنها را به صورت مرتب ذخیره میکند. پس اگر بخواهیم برای نگه داشتن عناصری از کلاس دلخواه خودمان از set استفاده کنیم، باید حداقل عملگر > را سربارگذاری کرده باشیم تا ظرف set قابلیت تشخیص ترتیب عناصر را داشته باشد ...
sync_with_stdio در زبان ++C
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
برنامهنویسی
زبان برنامهنویسی ++C علاوه بر ابزارهایی مانند cin و cout برای عملیات I/O، توابع scanf و printf را هم برای همین کارها از زبان برنامهنویسی C به ارث برده است. هر کدام از این دو دسته مزایایی دارند که ممکن است بخواهیم از هر دو در برنامهنویسی استفاده کنیم ...
خطای Cannot find -lGL
سیپلاسپلاس
برنامهنویسی
بعد از نصب Qt ممکن است زمان اجرا با خطای Cannot find -lGL برخورد کنید. در این حالت باید نصب بودن کتابخانهی libgl-dev بررسی شود. ...
نکتهای در محاسبه زمان اجرای کد
سیپلاسپلاس
برنامهنویسی
نکته برنامهنویسی
برای محاسبه زمان اجرای کد در ++C میتوان از دو تابع clock یا time استفاده کرد. تابع clock، تعداد کلاکهای در اختیار برنامه از CPU تا آن لحظه را برمیگرداند که با تقسیم بر CLOCKS_PER_SEC به ثانیه تبدیل میشود ...
هدر فایل bits/stdc++.h
سیپلاسپلاس
برنامهنویسی
نکته برنامهنویسی
هنگام شرکت در مسابقات برنامهنویسی تایپ اسم تک تک هدرفایلهای مورد نیاز برای اجرای برنامه به زبان ++C زمان نیاز دارد. هدر فایل bits/stdc++.h این زحمت را کم میکند. زمانی که این هدر را include میکنیم، تمام فایلهای سرآیند استاندارد به برنامه اضافه میشوند و اصولا نیاز به اضافه کردن هدرفایل جدیدی نیست ...
نکتهای از مسأله Graphical Editor
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
برنامهنویسی
برای حل سوال Graphical Editor باید هر خط از ورودی بررسی و اگه دستور معتبر بود اجرا شود. اما اگر دستور نامعتبر بود، باید کل خط نادیده گرفته شود. مشکل اینجاست که مشخص نیست چه دادههایی و به چه تعداد در اون خط وجود دارند ...
تابع popen در زبان ++C
سیپلاسپلاس
برنامهنویسی
نکته برنامهنویسی
گاهی لازم است یک برنامه خارجی را از برنامه خودمان اجرا و خروجی آن را استفاده کنیم. این برنامه میتواند یک برنامه اجرایی دیگر یا یکی از ابزارهای سیستم عامل مانند ping یا حتی اجرای یک برنامه java باشد. آنچه که مهم است اجرا شدن از خط فرمان و تولید خروجی متنی است ...
ظرفها در ++C
سیپلاسپلاس
برنامهنویسی
منظور از ظرف یا نگهدارنده (Container) ساختمان دادهایست که دستهای از اطلاعات را در خود نگه میدارد. آنچه که این ساختمانها را از هم متمایز میکند، نوع تخصیص حافظه، نوع دسترسی و کارایی درج و حذف عنصر در آنها است که به برخی از آنها کاربریهای ویژه میدهد ...
نکتهای در استفاده از map
سیپلاسپلاس
برنامهنویسی
نکته برنامهنویسی
ساختمان داده map (یا dictionary) از ابزارهای مهم و کاربردی هر زبان برنامهنویسی است که برای برقراری نگاشت بین هر نوع کلید و مقدار متناظر استفاده میشود. آرایههای معمولی یک عدد صحیح را به عنوان کلید به یک مقدار از هر نوع کلاس یا نوع داده نگاشت میکنند ...
دنباله اعداد فیبوناچی
سیپلاسپلاس
ریاضیات
الگوریتم تقسیم و غلبه
بسیاری از فرآیندهای طبیعی از جمله ترکیب ساختار بدن موجودات زنده نظم مشخصی دارند و از دنباله اعدادی تبعیت میکنند که امروزه با نام دنباله اعداد فیبوناچی (فیبوناتچی - Fibonacci) شناخته میشود. مشهورترین خاصیت این اعداد نسبت دو جمله متوالی آنها به ازای جملات بزرگ دنباله است که به عدد طلایی مشهور است ...
فایل سرآیند algorithm
سیپلاسپلاس
برنامهنویسی
فایل سرآیند (هدر فایل) algorithm از جمله فایلهای سرآیند تعاریف کتابخانه قالب استاندارد (STL) زبان برنامهنویسی ++C است که به طور عمده شامل توابعی برای کار با مجموعهای از دادهها (آرایهها و لیستها) است ...
الگوریتم جستجوی اول عمق (DFS)
سیپلاسپلاس
پیمایش گراف
الگوریتم مسیریابی
الگوریتم جستجوی اول عمق (Depth First Search - DFS) یا نامهای دیگری همچون جستجو در عمق، پیمایش اول عمق، پیمایش عمق اول الگوریتمی مشابه الگوریتم جستجوی اول سطح (BFS) برای پیمایش گراف است. این دو الگوریتم خواص و کاربردهای مشترک بسیاری دارند و تفاوت اصلی در این است که در هر تکرار الگوریتم DFS تنها یکی از گرههای مجاور گره پردازش شده برای مرحله بعد انتخاب میشود ...
الگوریتم فلوید-وارشال
سیپلاسپلاس
پایتون
الگوریتم برنامهنویسی پویا
الگوریتم فلوید-وارشال (Floyd-Warshall) یک الگوریتم مبتنی بر روش برنامهنویسی پویا برای محاسبه کوتاهترین مسیر بین هر دو جفت گره گرافهای وزندار است. دو الگوریتم رایج دایکسترا و بلمن-فورد روشهای محاسبه کوتاهترین مسیر از مبدأ ثابت هستند که در صورت تکرار آنها به ازای هر گره عملکردی همانند الگوریتم فلوید-وارشال دارند ...
الگوریتم جستجوی اول سطح (BFS)
سیپلاسپلاس
پیمایش گراف
الگوریتم مسیریابی
الگوریتم پیمایش اول سطح یا جستجوی اول سطح (Breadth First Search - BFS) از جمله الگوریتمهای مشهور پیمایش و جستجوی گراف است که در حل مسائل الگوریتمی و هوش مصنوعی کاربرد دارد. این الگوریتم برای پیمایش و جستجوی گراف از یک صف برای نگهداری ترتیب جستجو استفاده میکند ...
الگوریتم دایجسترا
سیپلاسپلاس
پیمایش گراف
الگوریتم حریصانه
الگوریتم دایکسترا (دیکسترا، دایجسترا - Dijkstra) یک راهکار حریصانه برای یافتن کوتاهترین مسیر از مقصد ثابت (تک منبع) به سایر گرههای گراف وزندار است. این گراف میتواند معرف مسیرهای یک شهر و تقاطعهای آن باشد که انبار شرکت در یک گره آن قرار داشته و هدف یافتن کوتاهترین مسیر به هر محل دیگر از این انبار است ...
الگوریتمهای حریصانه
سیپلاسپلاس
الگوریتم حریصانه
الگوریتم
روش حریصانه (Greedy) یکی از روشهای مشهور و پرکاربرد طراحی الگوریتمها است که با ساختاری ساده در حل بسیاری از مسائل استفاده میشود. این روش اغلب در حل مسائل بهینهسازی استفاده شده و در پارهای مواقع جایگزین مناسبی برای روشهایی مانند برنامهریزی پویا است ...
نکات مهم در برنامهنویسی به زبان ++C
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
برنامهنویسی
اجتناب از بررسی تساوی در اعداد اعشاری اعداد اعشاری در محاسبات ریاضی - مانند عمل تقسیم یا محاسبه توابع مثلثاتی و غیره - ممکن است حاوی مقدار بسیار ناچیزی خطا باشند که عموما ناشی از عملیات گرد کردن و قطع کردن نتایج مراحل میانی محاسبات هستند ...
دنباله اعداد کاتالان و محاسبه آن
سیپلاسپلاس
ریاضیات
الگوریتم تقسیم و غلبه
دنباله اعداد کاتالان (Catalan Numbers) یکی از دنبالههای عددی مشهور ریاضیات است که برای عدد نامنفی n به صورت $C_n$ نمایش داده میشود. $C_n:\qquad 1,\;1,\;2,\;5,\;14,\;42,\;132,\;429,\;1430,\;4862,\;16796,\;\cdots$ این دنباله کاربردهای بسیاری در مسائل شمارشی دارد ...
درخت جستجوی دودویی
سیپلاسپلاس
الگوریتم تقسیم و غلبه
ساختمان داده
درخت دودویی (Binary Tree) درختی است که هر گره آن دارای حداکثر دو گره فرزند است که به آنها فرزند راست و چپ گره گفته میشود. به همین ترتیب زیردرختی که فرزند راست در رأس آن قرار دارد زیردرخت راست و زیردرختی که فرزند چپ در رأس آن قرار دارد زیردرخت چپ گره نامیده میشوند ...
حلقههای تکرار در ++C
سیپلاسپلاس
برنامهنویسی
یکی از ابزارهای پر استفاده و مهم هر زبان برنامهنویسی حلقههای تکرار هستند. وجود چنین ابزاری به برنامهنویس این امکان را میدهد که ساختارهای نیازمند به تکرار مجموعه دستورات (مانند جستجو، گزارشگیری، محاسبات، دریافت اطلاعات از کاربر یا فایل) را پیادهسازی کند ...
برج هانوی
سیپلاسپلاس
مسئله الگوریتمی
پایتون
علاقهمندان به مباحث مختلف طراحی الگوریتم و همینطور شرکتکنندگان مسابقات برنامهنویسی به خوبی میدانند که یکی از مهمترین پارامترهای طراحی موفقیتآمیز یک الگوریتم، شیوه صحیح فکر کردن روی حل مسئله است. حل انواع سوالات الگوریتمی به ما کمک میکند ذهن خودمان را برای حل مسائل پیچیدهتر آماده کنیم ...
ضرب زنجیرهای ماتریسها
سیپلاسپلاس
ریاضیات
الگوریتم تقسیم و غلبه
مسئله ضرب زنجیرهای ماتریسها و پرانتزبندی بهینه آن یکی از مثالهای مشهور کاربرد برنامهنویسی پویا در حل مسائل بهینهسازی است. فرض کنید قصد داریم حاصلضرب عبارت ماتریسی $ A_{3 \times 7} \times B_{7 \times 8 } \times C_{8 \times 4} $ را محاسبه کنیم ...
الگوریتمهای تقسیم و حل
سیپلاسپلاس
الگوریتم تقسیم و غلبه
الگوریتم بازگشتی
یکی از روشهای پرکاربرد و محبوب برای طراحی الگوریتمها روش Divide and Conquer است که در زبان فارسی به صورت الگوریتمهای تقسیم و حل یا تقسیم و غلبه ترجمه شده است. در این روش، دادهها به دو یا چند دسته تقسیم شده و حل میشوند ...
درخت Heap
سیپلاسپلاس
ساختمان داده
درخت دودویی
درخت دودویی کامل یک درخت دودویی کامل است، هرگاه تمامی سطوح درخت به غیر از احتمالا آخرین سطح پر بوده و برگهای سطح آخر از سمت چپ قرار گرفته باشند. به یک مثال دقت کنید: همانطور که مشاهده میکنید، تمامی سطوح درخت به غیر از آخرین سطح به طور کامل پر و همه برگهای سطح آخر نیز در سمت چپ درخت هستند ...
الگوریتمهای برنامهنویسی پویا
سیپلاسپلاس
الگوریتم برنامهنویسی پویا
الگوریتم
یکی از روشهای پرکاربرد و مشهور طراحی الگوریتم روش برنامهنویسی پویا (یا برنامهریزی پویا، برنامهسازی پویا - Dynamic Programming) است. این روش همچون روش تقسیم و حل (Divide and Conquer) بر پایه تقسیم مسئله بر زیرمسئلهها کار میکند ...
صف اولویتدار
سیپلاسپلاس
ساختمان داده
صف
صف اولویتدار (یا صف اولویتی - Priority Queue) از جمله ساختمان دادههای بسیار پرکاربرد است. در صف عادی از تکنیک FIFO - مخفف First In First Out - استفاده میشود. در این تکنیک، مثل یک صف نانوایی، دادهها به ترتیب ورود پشت سر هم در صف قرار میگیرند ...
الگوریتم مرتبسازی هرمی
سیپلاسپلاس
الگوریتم مرتبسازی
الگوریتم
مرتبسازی هرمی (Heap Sort) یکی از روشهای مشهور مرتبسازی دادهها است که بر اساس خصوصیات درخت heap (هیپ، هرم یا کپه) و عملکرد آن پیادهسازی شده است. بر اساس تعریف درخت heap، در یک max-heap (یا min-heap) بزرگترین (یا کوچکترین) مقدار بین دادهها همواره در ریشه درخت قرار دارد ...
کلاس اعداد بزرگ در ++C
سیپلاسپلاس
برنامهنویسی
یکی از دغدعههای مهم برخی از افرادی که در حوزههایی مانند رمزنگاری برنامهنویسی میکنند کار با اعداد بسیار بزرگ صحیح است. در چنین حوزههایی نیاز زیادی به عملیات ریاضی روی اعداد بزرگ وجود دارد. تا کنون کلاسها و توابع زیادی روی اینترنت برای حل این مشکل از طرف برنامهنویسان معرفی شده است ...
الگوریتم ضرب استراسن
سیپلاسپلاس
ریاضیات
الگوریتم تقسیم و غلبه
ضرب ماتریسها یک عمل ریاضی است برای ترکیب دو ماتریس است که در مباحث مختلفی مانند گرافیک کامپیوتری، فیزیک و یادگیری ماشین کاربرد دارد. در این عملیات، برای هر عنصر از ماتریس حاصل، عناصر سطرهای ماتریس اول با عناصر ستونهای ماتریس دوم ضرب میشوند و مجموع این ضربها بهعنوان عنصر متناظر در ماتریس جدید قرار میگیرد ...
محاسبه فاکتوریل اعداد بزرگ
سیپلاسپلاس
ریاضیات
الگوریتم بازگشتی
ما معمولا برای توضیح رشد با سرعت زیاد از عبارت «رشد نمایی» استفاده میکنیم. رشد نمایی یعنی هر گام که پیش میرویم، از گام $n$ به گام $n + 1$، اندازه دو یا هر چند برابری میشود که به آن پایه یا مبنای رشد گفته میشود ...
توابع دوست کلاس در ++C
سیپلاسپلاس
برنامهنویسی
توابع دوست کلاسها از جمله موارد بحث برانگیز برنامهنویسی شیءگرا به زبان ++C هستند. چرا که یکی از اصول اساسی شیءگرایی، یعنی پنهانسازی اطلاعات، را نقض میکنند. با این وجود به خاطر کاربردهای متعددی که دارند از حضورشان نمیتوان چشمپوشی کرد ...
پیمایش درخت دودویی
سیپلاسپلاس
الگوریتم تقسیم و غلبه
الگوریتم بازگشتی
در علم کامپیوتر و ساختمان دادههای برنامهنویسی منظور از درخت دودویی درختی است که از یک گره به نام ریشه و حداکثر دو زیردرخت برای این گره تشکیل شده است که هر کدام از این دو زیردرخت خودشان یک درخت دودویی هستند ...
الگوریتم مرتبسازی سریع
سیپلاسپلاس
پایتون
الگوریتم تقسیم و غلبه
روش مرتبسازی سریع (Quick Sort) یکی از الگوریتمهای مشهور مرتبسازی دادهها است. این الگوریتم طی مراحل بازگشتی زیر یک روش تقسیم و غلبه برای مرتب کردن دادهها ارائه مینماید: 1- انتخاب عنصر محوری: یکی از عناصر آرایه به عنوان عنصر محوری (pivot) - به عنوان مثال عنصر اول - انتخاب میشود ...
محاسبه ضرایب دوجملهای
سیپلاسپلاس
ریاضیات
الگوریتم تقسیم و غلبه
ترکیب (Combination) به انتخاب تعدادی عنصر از یک مجموعه بزرگتر بدون در نظر گرفتن ترتیب آنها اشاره دارد. در ترکیب، برخلاف جایگشت (Permutation)، ترتیب انتخاب عناصر مهم نیست. این مفهوم در ریاضیات کاربرد گستردهای دارد و یکی از موارد اصلی استفاده از آن در محاسبهی ضرایب بسط دوجملهای است ...
سربارگذاری عملگرها در ++C
سیپلاسپلاس
برنامهنویسی
همانطور که میدانید، شیوه معرفی اشیاء کلاسهای تعریف شده در ++C همانند متغیرهای عادی هستند. به عنوان مثال اگر کلاسی به نام myclass تعریف کرده باشیم، عبارت زیر یک شیء از این کلاس به نام a تعریف میکند: myclass a; اما اشیاء کلاس یک تفاوت اساسی با متغیرهای معمولی (مانند int ،float ،char و ...
الگوریتم مرتبسازی ادغامی
سیپلاسپلاس
پایتون
الگوریتم تقسیم و غلبه
روش مرتبسازی ادغامی (Merge Sort) یک روش مرتبسازی مبتنی بر مقایسه عناصر با استفاده از روش تقسیم و غلبه است. این روش از مراحل بازگشتی زیر تشکیل یافته است: 1- آرایه را به دو زیرآرایه با اندازه تقریبا یکسان تقسیم کن ...
الگوریتم مرتبسازی درجی
سیپلاسپلاس
پایتون
الگوریتم مرتبسازی
روش مرتبسازی درجی (Insertion Sort) یکی از روشهای مقدماتی مرتبسازی مبتنی بر مقایسه عناصر است که در مقایسه با روشهای دیگر بیشتر مورد توجه قرار دارد. قفسه کتابی را در نظر بگیرید که قصد دارید کتابها را بر اساس عنوان و به ترتیب حروف الفبا مرتب کنید ...
اشارهگرها در زبان ++C
سیپلاسپلاس
برنامهنویسی
یکی از مهمترین مباحث کاربردی هر زبان برنامهنویسی، اشارهگر و مفهوم آن است که کاربرد گستردهای در شاخه ساختمان دادهها نیز دارد. در این فرصت با مفهوم اشارهگر و همینطور روش تعریف آن در زبان ++C آشنا میشوید ...
الگوریتم مرتبسازی حبابی
سیپلاسپلاس
پایتون
الگوریتم مرتبسازی
یکی از روشهای مرتبسازی، روش مرتبسازی حبابی (Bubble Sort) است که به آن روش تعویض استاندارد (Standard Exchange) نیز میگویند. این روش شامل چند مرحله است که در هر مرحله یک عنصر از لیست به طور قطع در محل مناسب خود قرار میگیرد ...
متغیرهای مرجع در ++C
سیپلاسپلاس
برنامهنویسی
زبان برنامهنویسی C از دو نوع متغیر پشتیبانی میکند: متغیرهای معمولی و اشارهگرها (متغیرهای حاوی آدرس حافظه). زبان ++C نوع سومی را به این مجموعه اضافه کرده است: متغیرهای مرجع (Reference). متغیرهای مرجع از روی دو نوع دیگر ساخته میشود و به نوعی میتوان گفت نام مستعار برای متغیر اصلی به حساب میآید ...
الگوریتم مرتبسازی انتخابی
سیپلاسپلاس
پایتون
الگوریتم مرتبسازی
روش مرتبسازی انتخابی (Selection Sort) یکی از روشهای اولیه مرتبسازی بر اساس مقایسه عناصر است. این الگوریتم طی چند مرحله عناصر لیست را به صورت صعودی یا نزولی مرتب میکند. به این ترتیب که در هر مرحله با بررسی عناصر نامرتب، بزرگترین (یا کوچکترین) عنصر را پیدا کرده و به انتهای لیست منتقل میکند ...
کلاسهای حافظه در ++C
سیپلاسپلاس
برنامهنویسی
زبان برنامهنویسی ++C از کلاسهای حافظه (Storage Classes) مختلفی برای تعریف متغیرها پشتیبانی میکند. کلاس حافظه اتوماتیک (auto) این کلاس اصلیترین کلاس حافظه زبان ++C محسوب میشود. متغیرهایی که توسط این کلاس تعریف میشوند، با خروج از محدوده تعریف به طور خودکار از بین میروند ...
لیست پیوندی
سیپلاسپلاس
ساختمان داده
مبحث لیستهای پیوندی یکی از شاخههای ساختمان دادهها است که حرف اول را در آن آشنایی با اشارهگر ها و مفهوم آن میزند. برای این که بتوانید در مباحث مختلف ساختمان دادهها از قبیل لیستهای پیوندی، صف، پشته و به ویژه درخت موفق باشید، باید مفهوم اشارهگرها را خوب متوجه شده باشید ...
آرایه پویای دو بعدی در ++C
سیپلاسپلاس
برنامهنویسی
آرایههای دو بعدی کاربردهای بسیاری از جمله جداول و ماتریسها دارند. اهمیت تعریف آرایههای پویای دو بعدی کمتر از آرایههای یک بعدی نیست. آرایههای پویای دو بعدی یک ویژگی جالب در مقایسه با آرایه ایستا دارند ...
قالبها در ++C
سیپلاسپلاس
برنامهنویسی
یکی از امکانات جالب و مفید زبان ++C قالبها (Templates) هستند که انعطاف زیادی به کدنویسی میدهند. فرض کنید در یک برنامه نیاز به تعویض مقادیر دو متغیر هست. یعنی مثلا میخواهیم مقادیر a و b را با هم عوض کنیم ...
آرایه ایستا و پویا در ++C
سیپلاسپلاس
برنامهنویسی
زبان ++C همانند اکثر زبانهای برنامهنویسی دیگر، ساختاری به نام آرایه دارد که امکان تعریف مجموعهای از متغیرهای همنوع (اصطلاحا مجموعه عناصر همگن) را فراهم میکند. چنین ساختاری به صورت زیر تعریف میشود: type name[number of elements]; که در آن type یکی از انواع دادههای استاندارد ++C، ساختمان و یا کلاس است ...