تعریف آرایه با تعداد عناصر 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 ; } }
با تشکر همه ی اینا درسته ولی باید با زبان سی شارپ تحویل بدم
اگه زحمت نیست کد سی شارپ رو بذارید