سفارش تبلیغ
صبا ویژن

ارسال آرایه به تابع در برنامه نویسی C++ (به زبان کاملا ساده)

مثال 1 : ارسال آرایه یک بعدی به تابع

برنامه زیر نمرات 5 دانش آموز را با استفاده از تابع نمایش می دهد.

  1. #include <iostream>
  2. using namespace std;
  3. void display(int marks[5]);
  4. int main()
  5. {
  6. int marks[5] = {88, 76, 90, 61, 69};
  7. display(marks);
  8. return 0;
  9. }
  10. void display(int m[5])
  11. {
  12. cout << “Displaying marks: “<< endl;
  13. for (int i = 0; i < 5; ++i)
  14. {
  15. cout << “Student “<< i + 1 <<“: “<< m[i] << endl;
  16. }
  17. }

خروجی

Displaying marks:

Student 1: 88

Student 2: 76

Student 3: 90

Student 4: 61

Student 5: 69

برای ارسال آرایه به تابع تنها نام آن استفاده می شود.

display(marks);

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

void display(int m[5]);

آرگومان marks در کد بالا نشان دهنده آدرس حافظه عنصر اول آرایه [5]mark است.

و آرگومان عادی [5]int m  در تعریف تابع به int * m تبدیل می شود. این اشاره گر به همان آدرس اشاره شده توسط آرایه marks اشاره دارد.

اگرچه در تابع آرایه با نام [5]m تعریف شده اما آرایه marks هنگام ارسال به جای آن می نشیند و تغییرات روی آن اعمال می شود.

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

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

آرایه چند بعدی می تواند مشابه بالا به صورت آرایه یک بعدی به تابع ارسال شود. مثال زیر را در نظر بگیرید که می خواهیم آرایه دو بعدی را به یک تابع ارسال کنیم:

مثال 2: انتقال آرایه چند بعدی به یک تابع

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

  1. #include <iostream>
  2. using namespace std;
  3. void display(int n[3][2]);
  4. int main()
  5. {
  6. int num[3][2] = {
  7. {3, 4},
  8. {9, 5},
  9. {7, 1}
  10. };
  11. display(num);
  12. return 0;
  13. }
  14. void display(int n[3][2])
  15. {
  16. cout << “Displaying Values: ” << endl;
  17. for(int i = 0; i < 3; ++i)
  18. {
  19. for(int j = 0; j < 2; ++j)
  20. {
  21. cout << n[i][j] << ” “;
  22. }
  23. }
  24. }

خروجی

Displaying Values:

3 4 9 5 7 1


آموزش کلاس های ذخیره سازی در ++C (به زبان ساده)

نوع خاص داده ها را می توان در یک متغیر ذخیره کرد. به عنوان مثال: int، float، char و غیره.

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

بسته به کلاس ذخیره سازی متغیر، می توان آن را به 5 نوع اصلی تقسیم کرد:

متغیر محلی (local variable)

متغیر تعریف شده در داخل تابع (تعریف شده در داخل بدنه تابع بین براکت ها) متغیر محلی یا متغیر خودکار(automatic ) نامیده می شود.

محدوده دسترسی آن تنها محدود به تابع تعریف شده است. به عبارت ساده، متغیر محلی می تواند تنها در داخل تابع قابل دسترسی باشد.

هنگامی که اجرای تابع تمام می شود، طول عمر متغیر محلی به پایان می رسد (از بین می رود).

مثال 1 : متغیر محلی

  1. #include <iostream>
  2. using namespace std;
  3. void test();
  4. int main()
  5. {
  6. // local variable to main()
  7. int var = 5;
  8. test();
  9. // illegal: var1 not declared inside main()
  10. var1 = 9;
  11. }
  12. void test()
  13. {
  14. // local variable to test()
  15. int var1;
  16. var1 = 6;
  17. // illegal: var not declared inside test()
  18. cout << var;
  19. }

متغیر var را نمی توان داخل test()و var1 را نمی توان در داخل تابع ()main استفاده کرد.

کلید واژه auto نیز قبل از تعریف متغیرهای محلی استفاده می شود: auto int var؛

اما، بعد از C ++ 11، auto معنی متفاوتی پیدا کرد و نباید برای تعریف متغیرهای محلی استفاده شود.

متغیر سراسری (global variable)

اگر متغیر بیرون از تمام توابع تعریف شود، به آن متغیر سراسری می گوییم.

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

به همین ترتیب، زمانی که برنامه به پایان برسد، طول عمر متغیر هم به پایان می رسد.

مثال 2 : متغیر سراسری

  1. #include <iostream>
  2. using namespace std;
  3. // Global variable declaration
  4. int c = 12;
  5. void test();
  6. int main()
  7. {
  8. ++c;
  9. // Outputs 13
  10. cout << c <<endl;
  11. test();
  12. return 0;
  13. }
  14. void test()
  15. {
  16. ++c;
  17. // Outputs 14
  18. cout << c;
  19. }

خروجی

13

14

در برنامه بالا c متغیر سراسری است.

متغیر برای هر دو تابع ()main و ()test در دسترس است.


آموزش توابع DateTime ، TimeDelta ، Strftime در پایتون با مثال

در پایتون ، کلاس های date ، time و datetime تعدادی تابع برای استفاده از تاریخ ، زمان و فواصل زمانی ارائه می دهند. date و datetime شیء هستند ، بنابراین وقتی از آن ها استفاده می کنید، در واقع از اشیاء استفاده می کنید و به صورت رشته یا timestamp نیستند. هر وقت که تاریخ یا زمان را بخواهید استفاده کنید ، باید تابع datetime را import کنید. 

کلاس های datetime در پایتون به 5 کلاس اصلی طبقه بندی می شوند.

  • date – شکل درست تاریخ (ماه ، روز ، سال)
  • time – زمان مستقل از روز (ساعت ، دقیقه ، ثانیه ، میکرو ثانیه)
  • datetime – ترکیبی از زمان و تاریخ (ماه ، روز ، سال ، ساعت ، ثانیه ، میکرو ثانیه)
  • timedelta— تخمین زمان آینده و گذشته.
  • tzinfo— کلاس انتزاعی برای برخورد با مناطق زمانی

در این آموزش می آموزیم:

  • نحوه استفاده از کلاس Date و DateTime
  • چاپ تاریخ با استفاده از ()date.today
  • تاریخ و زمان فعلی پایتون: ()now() today
  • نحوه تولید خروجی تاریخ و زمان با ()Strftime
  • نحوه استفاده از اشیاء Timedelta

نحوه استفاده از کلاس Date و DateTime

مرحله 1) قبل از اجرای کد برای datetime ، باید ماژول های زمان و تاریخ را همانطور که در تصویر زیر نشان داده شده است import کنید.

C:\Users\Mr\Desktop\New folder (2)\Python15.1 (2).png

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

قبل از اجرای کد datetime نکات زیر را در نظر بگیرید

from datetime import date

این خط به مترجم پایتون می گوید که از ماژول datetime کلاس date را import می کنیم.

مرحله 2) بعد ، نمونه ای از شیء date ایجاد می کنیم.

C:\Users\Mr\Desktop\New folder (2)\Python15.2.png

مرحله 3) تاریخ را چاپ می کنیم و کد را اجرا می کنیم.

C:\Users\Mr\Desktop\Python15.3.png

خروجی همانطور است که انتظار می رود.

چاپ تاریخ با استفاده از()date.today

تابع date.today دارای چندین ویژگی است که با آن ارتباط دارند. ما می توانیم روز / ماه / سال و موارد دیگر را چاپ کنیم.

به مثال زیر توجه کنید:

C:\Users\Mr\Desktop\New folder (2)\Python15.4.png

شماره روز های هفته

تابع ()date.today شماره روز هفته را نیز به شما می دهد. جدول روزهای هفته در زیر آورده شده است.

C:\Users\Mr\Desktop\day.jpg

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

C:\Users\Mr\Desktop\New folder (2)\Python15.5.png

تاریخ و زمان فعلی پایتون: هم اکنون()now() today

مرحله 1) مانند اشیاء date ، همچنین می توانیم از “DATETIME OBJECTS” در پایتون استفاده کنیم که تاریخ را به همراه زمان در ساعت ، دقیقه ، ثانیه و میلی ثانیه نشان می دهد.


ویندوز فلش USB را نمیشناسد؟ (ساده ترین روش رفع مشکل)

روش 1: کامپیوتر را از برق بکشید.

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

برد اصلی جاییست که تمام سخت افزار کامپیوتر متصل می شود که شامل پورت های USB هم میشود. گاهی اوقات برد اصلی لازم است که ((ریپورت)) شود چرا که کارها ممکن است اشتباه پیش بروند مثل اینکه همه یا بعضی از پورت های USB ناگهان از کار می افتند. میکرو پردازشگر کوچکی که در برد اصلی است دوباره درایورها را بارگیری می کند و پورت های USB شما دوباره دستگاه ها را شناسایی می کنند.

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

روش 2: درایور (گرداننده) دستگاه را بروزرسانی کنید.

اگر ویندوز قادر به شناسایی دستگاه نیست، بهتر است به device manager نگاهی بیاندازید که در آن قسمت دستگاه به صورت Unknown Device نمایش داده شده. می توانید با کلیک بر روی Start و تایپ کردن devmgmt.msc یا از طریق رفتن به پنل کنترل و کلیک بر روی Device manager به این بخش دسترسی پیدا کنید.

در این قسمت، باید بروی Unknown Device کلیک راست انجام دهید، سپس روی Properties و بعد زبانه Driver و در آخر Update driver را کلیک کنید.

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

روش 3: شروع مجدد و قطع کردن دستگاه های USB

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

روش 4: هاب روی USB

کار دیگری که میتوانید امتحان کنید، انتخاب کردن device manager است. سپس USB serial bus controllers را باز کنید، روی USB root hub راست کلیک و بعد روی properties کلیک کنید.

روی power management کلیک کنید و تیک Allow the computer to turn this device… را بردارید. اگر بیشتر از یک هاب روی USB دارید، لازم است که تمام این مراحل را برای هر کدام تکرار کنید.


5 تا از بهترین روشهای فشرده سازی عکس و فیلم با نرم افزارهای زیپ

روش اول: ایجاد فایل زیپ در ویندوز

از زمانی که ویندوز xp به بازار عرضه شد تا کنون، هر نسخه از ویندوز آرشیو زیپ را می شناسد و می توانید خیلی راحت آنها را با کمک ویندوز اکسپلورر باز کنید و یا را استخراج کنید.

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-00.png

هم چنین سیستم عامل ویندوز به ما اجازه می دهد فایل ها را بدون نیاز به برنامه کمکی در یک فایل زیپ فشرده کنیم. برای مثال، در اینجا کمی بیش از 1500 سند را با حجم 252 مگابایت برای فشرده سازی جمع آوری کردیم.

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-01.png

برای فشرده سازی این فایلها، ابتدا همه آنها را با Ctrl + A انتخاب می کنیم، سپس روی آن کلیک راست کرده و گزینه Send To -> Compressed را انتخاب می کنیم.

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-02.png

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

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-03.png

 

زمانی که آرشیو فایل زیپ آماده شد مشاهده خواهیم کرد که 252 مگا بایت حجم اصلی به 85?1 مگابایت فایل فشرده تبدیل شده و این یعنی 66?23 درصد کاهش حجم.

.C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-04.png

با این حال به نظر می رسد فشرده سازی فایل با کاراکتر های غیر انگلیسی غیر ممکن باشد.

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-05.png

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

روش دوم: استفاده از نرم افزار PeaZip

برنامه های فشرده سازی رایگان و خریدنی بسیاری وجود دارند.. برای این راهنمایی ما نرم افزار PeaZip را انتخاب کردیم چرا که نرم افزاری رایگان و منبع باز است ( اصطلاح منبع باز یا متن باز (open source) اشاره به چیزی است که بدلیل ساختار قابل دسترس توسط عموم، مردم می‌توانند آنرا تغییر داده و یا به اشتراک بگذارند ) و از 95 نوع فایل فشرده پشتیبانی می کند. برای دانلود رایگان این نرم افزار کلیک کنید!

ساده ترین راه برای فشرده سازی فایل ها با نرم افزار PeaZip این است که آنها را در یک پوشه قرار دهید، سپس با راست کلیک کردن بر روی پوشه و انتخاب گزینه های PeaZip > Add to .ZIP آن ها را فشرده کنید.

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-09.png

برنامه برای این کار از تنظیمات پیش فرض برای فشرده سازی استفاده می کند.

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-10.png

چند ثانیه بعد،حجم فایل از 252 مگابایت به 82?6 مگابایت رسیده است و در نتیجه این نرم افزار عمل فشرده سازی را 3 درصد بهتر از ویندوز انجام می دهد.

C:\Users\PC\Desktop\How-to-Compress-Files-in-a-Zip-Archive-for-Any-Use-11.png

گزینه های پیشرفته برای فشرده سازی فایل ها با نرم افزار PeaZip

اگر بخواهیم تنظیمات مورد نظر خودمان را در فشرده سازی اعمال کنیم، می توانیم روی پوشه راست کلیک کرده و با انتخاب PeaZip> Add to archive این کار را انجام دهیم.