تمرین جستجو در آرایه

دسته بندی : /


تعداد فروش

0 دانشجو

پرسش و پاسخ ها

0 کاربر

تاریخ انتشار

29 خرداد 1401

محتوا شامل

سورس کد, ویدیو آموزشی

سطح تمرین

بسیار ساده, ساده

سیستم عامل

ویندوز

نیازمندی ها

matlab

مدت زمان

6 دقیقه

حجم فایل

13 مگابایت

در این پست قصد داریم تمرین جستجو در آرایه در متلب را بررسی و پیاده سازی نماییم.

تمرین جستجو در آرایه در متلب

سوال : برنامه ای بنویسید که آرایه ای را دریافت و سپس عدد دیگری دریافت و در آن آرایه جستجو نماید .

نمونه ورودی : 

12 3 6

3

نمونه خروجی :

index = 1

ویدیو حل تمرین را مشاهده نمایید.

جستجو در آرایه در متلب چیست؟

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

در این مقاله، به بررسی مفاهیم اساسی جستجو در آرایه و روش‌های مختلف آن در متلب پرداخته خواهد شد.

همچنین میتوانید تمرین جستجو دودویی را در زبان سی پلاس پلاس مشاهده نمایید.

استفاده از تابع find

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

در صورتی که بخواهیم یک عنصر خاص را در یک آرایه پیدا کنیم، می‌توانیم از تابع find استفاده کنیم.

این تابع برای یافتن مکان عنصرهایی که شرط مشخص‌شده را برآورده می‌کنند، استفاده می‌شود.

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

در این صورت، می‌توانیم با استفاده از تابع find، به صورت زیر عمل کنیم:

arr = [1, 6, 2, 8, 3, 9, 4, 7, 5];
idx = find(arr > 5);

در این کد، ابتدا آرایه arr با مقادیری که در بالا آمده‌اند، تعریف شده است.

سپس با استفاده از تابع find، مکان عناصری که بزرگتر از 5 هستند، در متغیر idx ذخیره می‌شود.

در نهایت، با استفاده از تابع disp، محتویات متغیر idx چاپ می‌شود:

disp(idx);

این کد باید مکان عناصری را که بزرگتر از 5 هستند، چاپ کند. در اینجا، خروجی به صورت زیر خواهد بود:

2     4     6     8

در این خروجی، شماره‌ی عناصری که بزرگتر از 5 هستند، چاپ میشود.

مثال از جستجو در آرایه در متلب

مثال مرتبط: ایجاد هاشور در ماتریس با متلب

با استفاده از این توابع، می‌توان به راحتی عملیات جستجو در آرایه را انجام داد.

به عنوان مثال، فرض کنید یک آرایه با نام arr داریم و می‌خواهیم مکان عنصری که برابر با 5 است را پیدا کنیم.

در این صورت، می‌توانیم با استفاده از تابع find، به صورت زیر عمل کنیم:

arr = [1, 6, 2, 8, 3, 9, 4, 7, 5];
idx = find(arr == 5);

در این کد، ابتدا آرایه arr با مقادیری که در بالا آمده‌اند، تعریف شده است.

سپس با استفاده از تابع find و شرط arr == 5، مکان عنصری که برابر با 5 است، در متغیر idx ذخیره می‌شود.

در نهایت، با استفاده از تابع disp، محتویات متغیر idx چاپ می‌شود:

disp(idx);

این کد باید مکان عنصری را که برابر با 5 است، چاپ کند.

در اینجا، خروجی به صورت زیر خواهد بود:

9

تابع ismember برای جستجو

به علاوه، می‌توان با استفاده از تابع ismember، عضویت یک یا چند مقدار در یک آرایه را بررسی کرد.

به عنوان مثال، فرض کنید یک آرایه با نام arr داریم و می‌خواهیم بررسی کنیم که آیا عدد 5 در آرایه وجود دارد یا خیر.

در این صورت، می‌توانیم با استفاده از تابع ismember، به صورت زیر عمل کنیم:

arr = [1, 6, 2, 8, 3, 9, 4, 7, 5];
tf = ismember(arr, 5);

در این کد، ابتدا آرایه arr با مقادیری که در بالا آمده‌اند، تعریف شده است.

سپس با استفاده از تابع ismember و مقدار 5، محتویات آرایه arr بررسی شده و در متغیر tf ذخیره می‌شود.

در نهایت، با استفاده از تابع disp، محتویات متغیر tf چاپ می‌شود:

disp(tf);

این کد باید بررسی کند که آیا عدد 5 در آرایه وجود دارد یا خیر.

در اینجا، خروجی به صورت زیر خواهد بود:

0     0     0     0     0     0     0     0     1

در این خروجی، مقدار 1 در مکان آخر نشان می‌دهد که عدد 5 در آرایه وجود دارد.

استفاده از حلقه for برای جستجو

به جای استفاده از توابعی مانند find و ismember، می‌توان با استفاده از حلقه for، به صورت دستی عملیات جستجو را انجام داد.

در این روش، تمامی عناصر آرایه به صورت تک تک بررسی  و در صورتی که شرط مورد نظر برآورده شود، مکان آن در یک متغیر ذخیره می‌شود.

برای مثال، فرض کنید یک آرایه با نام arr داریم و می‌خواهیم مکان عنصری که برابر با 5 است را پیدا کنیم.

در این صورت، می‌توانیم با استفاده از حلقه for، به صورت زیر عمل کنیم:

arr = [1, 6, 2, 8, 3, 9, 4, 7, 5];
idx = 0;
for i = 1:length(arr)
    if arr(i) == 5
        idx = i;
        break;
    end
end

در این کد، ابتدا آرایه arr با مقادیری که در بالا آمده‌اند، تعریف میشود.

سپس با استفاده از حلقه for، تمامی عناصر آرایه بررسی و در صورتی که عنصری که برابر با 5 است پیدا شود، شماره آن در متغیر idx ذخیره می‌شود.

در نهایت، با استفاده از تابع disp، محتویات متغیر idx چاپ می‌شود:

disp(idx);

این کد باید مکان عنصری را که برابر با 5 است، چاپ کند.

در اینجا، خروجی به صورت زیر خواهد بود:

9

کلام آخر

استفاده از حلقه for برای جستجو در آرایه در برخی موارد می‌تواند بهترین روش باشد.

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

با این حال، در آرایه‌های بزرگتر، استفاده از توابع جستجوی پیشرفته مانند find و ismember، بهترین روش خواهد بود.

نمونه مثال های متلب را از اینجا مشاهده نمایید.

پرسش و پاسخ ها

هنوز بررسی‌ای ثبت نشده است.

اولین کسی باشید که دیدگاهی می نویسد “تمرین جستجو در آرایه”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمرینات مشابه

پروژه مدیریت کتابها در سی شارپ

پروژه مدیریت کتابها در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه sql دیجی کالا

پروژه sql دیجی کالا

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه نمایش دمای هوا از طریق گوگل

پروژه نمایش دمای هوا از طریق گوگل

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه ساختمان داده بانک یاب

پروژه ساختمان داده بانک یاب

  • استادیار: وفایی مقدم
  • قیمت: 60,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : سخت
تمرین چند ضلعی در سی شارپ

تمرین چند ضلعی در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: رایگان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
تمرین singleton در سی شارپ

تمرین singleton در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: رایگان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
محاسبه شیب پاره خط در سی شارپ

محاسبه شیب پاره خط در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: 35,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه محاسبه عملگر های بیتی در سی شارپ

پروژه محاسبه عملگر های بیتی در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط