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

نمونه سوال آرایه ها در سی شارپ

0 امتیاز
سلام

دنبال نمونه سوال های آرایه با c# هستم
سوال شده بهمن 13, 1401  بوسیله ی Lori3 (امتیاز 857)   11 36 105

15 پاسخ

+1 امتیاز
 
بهترین پاسخ

سوال ۱۴-تفاوت بین آرایه پویا و آرایه استاتیک در سی شارپ چیست؟

جواب ۱۴:

در سی شارپ دو نوع آرایه وجود دارد: آرایه های استاتیک و آرایه های پویا.

 
یک آرایه استاتیک اندازه ثابتی دارد که پس از ایجاد آن قابل تغییر نیست. اندازه یک آرایه استاتیک زمانی تعیین می شود که آرایه اعلام شود و بعد از آن نمی توان اندازه آن را تغییر داد. مثلا:
int[] numbers = new int[5];
این یک آرایه ثابت از 5 عنصر ایجاد می کند و اندازه این آرایه را نمی توان بعداً تغییر داد.
 
از طرف دیگر، یک آرایه پویا می تواند در صورت نیاز به صورت پویا بزرگ یا کوچک شود. اندازه یک آرایه پویا را می توان پس از ایجاد تغییر داد. در سی شارپ می توانید از کلاس List<T> برای ایجاد آرایه های پویا استفاده کنید. مثلا:
List<int> numbers = new List<int>();

 

این یک آرایه پویا از ints ایجاد می کند و اندازه این آرایه را می توان بعداً با استفاده از روش هایی مانند Add() یا Remove() تغییر داد.
 
به طور خلاصه، تفاوت اصلی بین یک آرایه استاتیک و یک آرایه پویا در سی شارپ این است که یک آرایه استاتیک دارای اندازه ثابتی است که نمی‌توان آن را تغییر داد، در حالی که یک آرایه پویا می‌تواند به صورت پویا بزرگ یا کوچک شود.
پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
انتخاب شد فروردین 24, 1402 بوسیله ی Lori3
+1 امتیاز
1- چگونه می توان یک آرایه را در سی شارپ تعریف کرد؟
2- چگونه یک آرایه را در سی شارپ مقداردهی اولیه می کنید؟
3- تفاوت آرایه های تک بعدی و چند بعدی در سی شارپ چیست؟
4- چگونه به عناصر یک آرایه در سی شارپ دسترسی پیدا می کنید؟
5- چگونه یک آرایه را در سی شارپ مرتب می کنید؟
6- چگونه یک آرایه را در سی شارپ معکوس کنیم؟
7-چگونه می توان حداقل و حداکثر مقادیر یک آرایه را در سی شارپ پیدا کرد؟
8-چگونه می توان مقدار خاصی را در یک آرایه در سی شارپ جستجو کرد؟
9-چگونه عناصر را از یک آرایه به آرایه دیگر در سی شارپ کپی می کنید؟
10-چگونه می توان اندازه یک آرایه را در سی شارپ تغییر داد؟
11-چگونه می توان مجموع و میانگین عناصر یک آرایه را در سی شارپ محاسبه کرد؟
12-چگونه می توان دو آرایه را در سی شارپ ادغام کرد؟
13-چگونه می توان یک آرایه را در سی شارپ به آرایه های کوچکتر تقسیم کرد؟
14-تفاوت بین آرایه پویا و آرایه استاتیک در سی شارپ چیست؟
پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال 1- چگونه می توان یک آرایه را در سی شارپ تعریف کرد؟

جواب 1 :

یک آرایه در سی شارپ را می توان به نحو زیر تعریف کرد:

dataType[] arrayName;

یا

dataType[] arrayName = new dataType[size];

که در آن dataType نوع عناصری است که آرایه نگه می‌دارد (مانند int، رشته، float و غیره)، arrayName نام آرایه است و اندازه تعداد عناصر آرایه است. به عنوان مثال، کد زیر آرایه ای از اعداد صحیح را با 5 عنصر اعلام می کند:

int[] numbers = new int[5];

 

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
ویرایش شده بهمن 13, 1401 بوسیله ی Ali_GH
+1 امتیاز

سوال ۲- چگونه یک آرایه را در سی شارپ مقداردهی اولیه می کنید؟

جواب ۲-

شما می توانید یک آرایه را در سی شارپ با استفاده از نحو زیر مقداردهی اولیه کنید:

data_type[] array_name = new data_type[size] { elements };

به عنوان مثال، برای مقداردهی اولیه آرایه ای از اعداد صحیح با مقادیر 1، 2، و 3، می توانید بنویسید:

int[] numbers = new int[3] { 1, 2, 3 };

همچنین می توانید از سینتکس مختصر استفاده کنید:

data_type[] array_name = { elements };

 

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال  ۳- تفاوت آرایه های تک بعدی و چند بعدی در سی شارپ چیست؟

جواب ۳-

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

 
آرایه تک بعدی یک ساختار داده خطی است که شامل عناصری از همان نوع است و دارای یک شاخص واحد است که برای دسترسی به عناصر استفاده می شود. به عنوان مثال، کد زیر یک آرایه تک بعدی از اعداد صحیح ایجاد می کند:
int[] numbers = new int[5];

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

numbers[2] = 10;

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

int[,] matrix = new int[3, 5];

 

در این مثال، ماتریس آرایه دارای دو بعد است و می تواند تا 3 * 5 = 15 مقدار صحیح را در خود نگه دارد. برای دسترسی به یک عنصر از آرایه، از دو شاخص در براکت مربع استفاده می کنید، مانند این:

matrix[2, 4] = 10;

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

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۴- چگونه به عناصر یک آرایه در سی شارپ دسترسی پیدا می کنید؟

جواب ۴- 

در سی شارپ، می‌توانید با استفاده از براکت [] با شماره فهرست عنصری که می‌خواهید به آن دسترسی داشته باشید، به عناصر یک آرایه دسترسی پیدا کنید. به عنوان مثال، اگر آرایه ای به نام "arr" دارید و می خواهید به عنصر سوم دسترسی داشته باشید، می توانید بنویسید:

int thirdElement = arr[2];

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

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۵- چگونه یک آرایه را در سی شارپ مرتب می کنید؟

جواب ۵-

شما می توانید یک آرایه را در سی شارپ با استفاده از متد ()Array.Sort مرتب کنید. در اینجا مثالی از نحوه استفاده از آن آورده شده است:

int[] numbers = { 4, 1, 3, 9, 7 };
Array.Sort(numbers);

foreach (int num in numbers)
{
    Console.WriteLine(num);
}

این آرایه اعداد را به ترتیب صعودی مرتب می کند. به طور پیش‌فرض، متد ()Array.Sort از الگوریتم QuickSort برای مرتب‌سازی آرایه‌های انواع اولیه و مقایسه‌کننده پیش‌فرض برای مرتب‌سازی آرایه‌های انواع مرجع استفاده می‌کند. اگر نیاز دارید آرایه را به ترتیب دیگری مرتب کنید، می توانید یک مقایسه کننده سفارشی را به متد ()Array.Sort ارسال کنید.

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۶- چگونه یک آرایه را در سی شارپ معکوس کنیم؟

جواب ۶:

شما می توانید یک آرایه در سی شارپ را با استفاده از متد ()Array.Reverse معکوس کنید. در اینجا مثالی از نحوه استفاده از آن آورده شده است

int[] numbers = { 4, 1, 3, 9, 7 };
Array.Reverse(numbers);

foreach (int num in numbers)
{
    Console.WriteLine(num);
}

این ترتیب عناصر در آرایه اعداد را معکوس می کند. متد ()Array.Reverse در جای خود عمل می‌کند و آرایه اصلی را تغییر می‌دهد، بنابراین آرایه معکوس جدیدی را بر نمی‌گرداند.

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۷-چگونه می توان حداقل و حداکثر مقادیر یک آرایه را در سی شارپ پیدا کرد؟

جواب ۷:

با استفاده از متدهای Array.Min() و Array.Max() می توانید حداقل و حداکثر مقادیر یک آرایه را در سی شارپ پیدا کنید. در اینجا مثالی از نحوه استفاده از آنها آورده شده است:

int[] numbers = { 4, 1, 3, 9, 7 };
int min = numbers.Min();
int max = numbers.Max();

Console.WriteLine("Min: " + min);
Console.WriteLine("Max: " + max);

این مقدار حداقل و حداکثر را در آرایه اعداد پیدا می کند و آنها را در کنسول چاپ می کند. توجه داشته باشید که متدهای Array.Min() و Array.Max() فقط با آرایه هایی از انواع اولیه و انواع مقادیر کار می کنند، نه با انواع مرجع. اگر آرایه ای از انواع مرجع دارید، باید از روش دیگری استفاده کنید، مانند نوشتن یک روش سفارشی برای یافتن حداقل و حداکثر مقادیر.

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۸-چگونه می توان مقدار خاصی را در یک آرایه در سی شارپ جستجو کرد؟

جواب ۸:

با استفاده از روش ()Array.IndexOf می توانید مقدار خاصی را در یک آرایه در سی شارپ جستجو کنید. در اینجا مثالی از نحوه استفاده از آن آورده شده است:

int[] numbers = { 4, 1, 3, 9, 7 };
int target = 3;
int index = Array.IndexOf(numbers, target);

if (index != -1)
{
    Console.WriteLine("Value " + target + " found at index " + index);
}
else
{
    Console.WriteLine("Value " + target + " not found in the array");
}
این مقدار 3 را در آرایه اعداد جستجو می کند و در صورت یافتن شاخص آن را برمی گرداند. اگر مقدار پیدا نشد، متد -1 را برمی گرداند.
 
همچنین می توانید از فضای نام Linq برای جستجوی یک مقدار خاص در یک آرایه در سی شارپ با استفاده از متد Any() استفاده کنید. در اینجا مثالی از نحوه استفاده از آن آورده شده است:
int[] numbers = { 4, 1, 3, 9, 7 };
int target = 3;
bool isExist = numbers.Any(x => x == target);

if (isExist)
{
    Console.WriteLine("Value " + target + " found in the array");
}
else
{
    Console.WriteLine("Value " + target + " not found in the array");
}

 

این کار بررسی می کند که آیا مقدار هدف در آرایه اعداد وجود دارد یا خیر و پیامی را چاپ می کند که نشان می دهد پیدا شده است یا خیر.

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۹-چگونه عناصر را از یک آرایه به آرایه دیگر در سی شارپ کپی می کنید؟

جواب ۹:

با استفاده از روش Array.Copy() می توانید عناصر را از یک آرایه به آرایه دیگر در سی شارپ کپی کنید. در اینجا مثالی از نحوه استفاده از آن آورده شده است:

int[] source = { 4, 1, 3, 9, 7 };
int[] destination = new int[source.Length];
Array.Copy(source, destination, source.Length);

foreach (int num in destination)
{
    Console.WriteLine(num);
}
با این کار تمام عناصر از آرایه مبدا به آرایه مقصد کپی می شود. متد Array.Copy () سه آرگومان می گیرد: آرایه مبدا، آرایه مقصد و تعداد عناصری که باید کپی شوند. در این مورد، ما همه عناصر را از آرایه منبع کپی می کنیم، بنابراین source.Length را به عنوان آرگومان سوم ارسال می کنیم.
 
توجه داشته باشید که آرایه مقصد باید با همان تعداد عناصر آرایه مبدأ از قبل تخصیص داده شود، در غیر این صورت کپی با شکست مواجه خواهد شد. اگر نیاز به کپی عناصر در یک آرایه بزرگتر دارید، می توانید از متد Array.Resize() برای تغییر اندازه آرایه مقصد قبل از کپی عناصر استفاده کنید.
پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۱۰-چگونه می توان اندازه یک آرایه را در سی شارپ تغییر داد؟

جواب ۱۰:

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

int[] numbers = { 4, 1, 3, 9, 7 };
int newSize = 10;

int[] newNumbers = new int[newSize];
Array.Copy(numbers, newNumbers, numbers.Length);

foreach (int num in newNumbers)
{
    Console.WriteLine(num);
}
این یک آرایه جدید newNumbers با اندازه 10 ایجاد می کند و همه عناصر را از شماره آرایه اصلی در آرایه جدید کپی می کند. عناصر جدید در آرایه newNumbers که در آرایه اعداد اصلی وجود نداشتند به مقدار پیش‌فرض نوع خود مقداردهی اولیه می‌شوند که برای آرایه‌های int 0 است.
 
توجه داشته باشید که هیچ روش داخلی برای تغییر اندازه مستقیم آرایه در سی شارپ وجود ندارد. تنها راه برای تغییر اندازه یک آرایه، ایجاد یک آرایه جدید و کپی کردن عناصر از آرایه اصلی به آرایه جدید است.
پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۱۱-چگونه می توان مجموع و میانگین عناصر یک آرایه را در سی شارپ محاسبه کرد؟

جواب ۱۱:

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

int[] numbers = { 4, 1, 3, 9, 7 };
int sum = 0;

foreach (int num in numbers)
{
    sum += num;
}

double average = (double)sum / numbers.Length;

Console.WriteLine("Sum: " + sum);
Console.WriteLine("Average: " + average);

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

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۱۲-چگونه می توان دو آرایه را در سی شارپ ادغام کرد؟

جواب ۱۲:

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

int[] first = { 4, 1, 3 };
int[] second = { 9, 7, 5 };
int[] result = new int[first.Length + second.Length];

Array.Copy(first, result, first.Length);
Array.Copy(second, 0, result, first.Length, second.Length);

foreach (int num in result)
{
    Console.WriteLine(num);
}

این یک نتیجه آرایه جدید با اندازه ای برابر با مجموع اندازه های هر دو آرایه ایجاد می کند و سپس عناصر هر دو آرایه را اول و دوم در آرایه نتیجه کپی می کند. متد Array.Copy () سه آرگومان می گیرد: آرایه مبدا، شاخص شروع در آرایه مبدا، و تعداد عناصری که باید کپی شوند. در اولین فراخوانی ()Array.Copy، همه عناصر را از آرایه اول به آرایه نتیجه کپی می کنیم، بنابراین first.Length را به عنوان آرگومان سوم پاس می کنیم. در دومین فراخوانی Array.Copy()، ما همه عناصر را از آرایه دوم به آرایه نتیجه کپی می کنیم، از index first.Length در آرایه نتیجه شروع می کنیم، بنابراین اول.Length را به عنوان آرگومان دوم و دوم پاس می دهیم. طول به عنوان آرگومان سوم.

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
+1 امتیاز

سوال ۱۳-چگونه می توان یک آرایه را در سی شارپ به آرایه های کوچکتر تقسیم کرد؟

جواب ۱۳:

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

int[] numbers = { 4, 1, 3, 9, 7, 5, 2, 8, 6, 0 };
int size = 3;
int numberOfArrays = numbers.Length / size;

int[][] split = new int[numberOfArrays][];
for (int i = 0; i < numberOfArrays; i++)
{
    split[i] = new int[size];
    Array.Copy(numbers, i * size, split[i], 0, size);
}

foreach (int[] subArray in split)
{
    Console.WriteLine("[" + string.Join(", ", subArray) + "]");
}

این یک آرایه جدید با آرایه های فرعی numberOfArrays ایجاد می کند که هر کدام دارای عناصر اندازه هستند. حلقه for روی numberOfArrays تکرار می شود و برای هر تکرار یک آرایه فرعی جدید ایجاد می کند و عناصر اندازه را از آرایه اعداد اصلی در هر زیر آرایه کپی می کند. متد ()Array.Copy برای کپی کردن عناصر از آرایه اعداد به هر زیر آرایه استفاده می‌شود، که شاخص شروع در آرایه اعداد اندازه i * است. متد string.Join() برای الحاق عناصر هر زیر آرایه به یک رشته برای چاپ استفاده می شود.

پاسخ داده شده بهمن 13, 1401 بوسیله ی Ali_GH (امتیاز 368)   4 14 19
...