تعریف آرایه با تعداد عناصر n عضو در سی شارپ
با سلام خدمت دوستان من یه سوال داشتم که ممنون میشم جوابشو بهم بدین مربوط به پروژه دانشگاه هستش
الگوریتمی بنویسید که دو آرایه ی SوT با تعداد عناصر nوn را که مرتب هستند را در یک آرایه ی Z با m+n عنصر به صورت مرتب درج کند.
5 پاسخ
بله تکراری ها حذف شوند.
سلام دوست عزیز
منظورتون از m+n این هست که تکراری ها حذف شوند یعنی m<n باشد؟
کد نوشته شده به زبان سی پلاس پلاس است که بسیار به زبان سی شارپ نزدیک است و خودتون هم می تونید این کار رو انجام بدید
در زبان سی پلاس پلاس از کد زیر استفاده کنید
// m - size of A
// n - size of B
// size of C array must be equal or greater than
// m + n
int merge(int m, int n, int A[], int B[], int C[]) {
int i, j, k;
i = 0;
j = 0;
k = 0;
while (i < m && j < n) {
if (A[i] < B[j]) {
C[k] = A[i];
i++;
}
else if(A[i]>B[j]) {
C[k] = B[j];
j++;
}
else
{
C[k] = B[j];
i++;
j++;
}
k++;
}
if (i < m) {
for (int p = i; p < m; p++) {
C[k] = A[p];
k++;
}
}
else {
for (int p = j; p < n; p++) {
C[k] = B[p];
k++;
}
}
return k ;
}
دقت داشته باشید که این تابع سه آرایه و دو عدد به عنوان سایز هر آرایه دریافت می کند و دو آرایه اول را در آرایه سوم می ریزد و مقداری که برگشت می دهد سایز آرایه جدید است. برای استفاده از این کد باید به شکل زیر عمل کنید.
int main()
{
int a[] = { 1,3,5,7 };
int b[] = { 2,4,5,6,7 };
int c[9];
int size=merge(4, 5, a, b, c);
for (size_t i = 0; i <size; i++)
{
std::cout << c[i]<<endl
;
}
}
با تشکر همه ی اینا درسته ولی باید با زبان سی شارپ تحویل بدم
اگه زحمت نیست کد سی شارپ رو بذارید