Programming?
11.4K subscribers
373 photos
645 videos
978 files
513 links
🏅Channel privileges

🎗Ninth year of operation
🎗Completely specialized members
🎗Transmitter in channel automation
🎗, ...

🎯 second channel Programming books 👇
@topbookit

🎯 third channel laptop👇
@sysline


👨🏻‍💻Admin channels : @coderme
Download Telegram
کوچک سازی (truncation)
حتی هنگام تعریف f بصورت float f = 2.3 شما یک هشدار truncation (کوتاه سازی) از double به float را دریافت میکنید، چراکه خود 2.3 هم یک نوع دارد (literal ها هم نوع دارند) و نوعش double است و هنگام ریخته شدن در f به float تبدیل میشود و چون float مقادیر کوچکتری را نگه میدارد پس ممکن است قسمتی از داده ها از دست برود (مثلاً دقت اعشاری کاهش یابد).
double d = 45214.236125;
float f = (float)d;
پس جایی که خود زبان تشخیص دهد که باید به چه نوعی تبدیل صورت گیرد خودش اینکار را انجام میدهد وگرنه خطا میدهد و باید از تبدیل نوع صریح استفاده کنیم.
تبدیل explicit
این تبدیل توسط خود برنامه نویس با نوشتن دستوراتی درون کد برنامه انجام میشود. مثلاً وقتی هنگام انتساب f از نوع float به i از نوع int بنویسید
i = (int)f دیگر هشداری دریافت نمیکنید چون گذاشتن (int) قبل از f آنرا به صراحت به int تبدیل میکند و سپس در i میریزد. میتوان تبدیلات صریح را بگونه ای مثل (int(f هم نوشت که f را به int تبدیل میکند.
int i1 = 10;
int i2 = 4;
float f = (float)i1 / i2;
دوستان برای حل سوالات و تبادل نظر در گروه مربوط به کانال عضو بشید https://telegram.me/joinchat/Cp3i8QXspcSDBJE-v4wd8g
آرایه ها در++c

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

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

آرایه مجموعه ای از عناصر هم نوع است. در برنامه نویسی C++ برای تعریف آرایه باید نوع عناصر آنرا مشخص کنیم و آرایه باید حتما دارای نام باشد که از قانون نامگذاری برای متغیرها تبعیت می کند و بعد از نام از [] استفاده می کنیم که درون آن می توان از یک عدد صحیح برای تعیین طول آرایه استفاده نمود .
int arr[4];
کد برنامه نویسی C++ بالا آرایه ای را با نام arr تعریف می کند که عناصر آن از نوع عدد صحیح هستند و تعداد عناصر آرایه (طول) برابر با 4 است .

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

گفتنی است که عناصر آرایه پشت سر هم در خانه های حافظه ذخیره می شوند و هر عنصر (خانه) از آرایه به اندازه طول نوع آرایه فضا اشغال می کند. در آرایه بالا چون نوع آرایه تعریف شده int است پس هر عنصر مقدار 4 بایت و چون طول آن 4 است در نهایت 16 بایت پشت سر هم از حافظه را اشغال می کند .
معمولا آرایه ها با توجه به ابعادشان تقسیم بندی می شوند :

آرایه های یک بعدی :

آرایه های یک بعدی دارای یک سطر و چند ستون و یا دارای یک ستون و چند سطر هستند و فقط دارای یک اندیس برای دسترسی به عناصرشان می باشند .
مقدار دادن به عناصر آرایه ها :

برای مقدار دادن به آرایه ها هم می توان به تمامی عناصر بصورت یکجا مقدار داد که حالت مجموعه در ریاضی را بخود می گیرد و هم بصورت تک به تک. وقتی طول آرایه را مشخص نمی کنیم با مقدار دادن به عناصر، طول آرایه نیز مشخص خواهد شد .
دوستان دقت داشته باشند هنگام تعریف آرایه باید طول را قید کرد مگر اینکه همانجا بدون ذکر طول، به یکایک عناصر مقدار دهیم. پس یا باید طول آرایه را مشخص کنیم یا با مقدار دادن به عنصرهای آرایه،طول برای کامپایلر مشخص شود و اگر غیر از این باشد کامپایلر از برنامه خطا خواهد گرفت .
int x[5] = { 10, 37, -3, 8023, 0 };

//////////// یا \\\\\\\\\\\\

int x[5];

x[0] = 10;
x[1] = 37;
x[2] = -3;
x[3] = 8023;
x[4] = 0;

//////////// یا \\\\\\\\\\\\

int x[] = { 10, 37, -3, 8023, 0 };
نکته : همیشه آخرین اندیس آرایه، یک واحد از طول آن کمتر است و تنها دلیل آن شروع شدن اولین اندیس از صفر برای آرایه می باشد .

برای دسترسی به عناصر آرایه کافی است اندیس آن عنصر از آرایه را در درون [] قید نماییم :
int x[5] = { 10, 37, -3, 8023, 0 };

x[0] = 10
x[2] = -3
در کد بالا منظور از خط دوم، مقدار اولین عنصر از آرایه و منظور از خط بعدی مقدار سومین عنصر می باشد .
آرایه های دو بعدی : آرایه دوبعدی دارای چند سطر و چند ستون می باشد. اولین بعد آرایه بیانگر سطرها و دومین بعد آن بیانگر ستونهاست. همانطور که از شکل پیداست به ترتیب از اولین سطر شروع کرده و تا انتهای ستونهای آن سطر را اندیس گذاری کرده و سپس به سطر بعد رفته و به اندیس گذاری تا آخرین ستون سطر مربوطه می پردازیم و این عمل را تا انتها برای اندیس گذاری تکرار می کنیم. سمت راست شکل هم کاملا گویاست که عناصر آرایه به چه ترتیبی در حافظه کامپیوتر قرار می گیرند.
مقدار دهی به آرایه های چند بعدی :