



Preview text:
/class IntArray internal class IntArray { public int[] arr; public int this[int i] { get { return arr[i]; } set { arr[i] = value; } } public IntArray() { arr = new int[0]; } public IntArray(int k) { arr = new int[k]; Random rnd = new Random();
for (int i = 0; i < k; i++) { arr[i] = rnd.Next(1, 200); } } public IntArray(int[] arr) {
this.arr = new int[arr.Length];
for (int i = 0; i < arr.Length; i++) this.arr[i] = arr[i]; } public IntArray(IntArray obj) { arr = obj.arr; } public void Nhap() {
Console.WriteLine("Nhap kich thuoc cua mang : ");
int n = int.Parse(Console.ReadLine()); arr = new int[n];
for (int i = 0; i < arr.Length; i++) {
Console.WriteLine("Nhap phan tu thu {0} : ", i + 1);
arr[i] = int.Parse(Console.ReadLine()); } } public void Xuat() { Console.WriteLine("Mang : ");
for (int i = 0; i < arr.Length; i++) {
Console.WriteLine("{0}", arr[i]); } Console.WriteLine(); } public bool KiemTraKT(int n) {
for (int i = 0; i < arr.Length; i++) { if (arr[i] % 2 == 0) return true; } return false; } public int TimTuanTu(int x) { int n = arr.Length;
for (int i = 0; i < n; i++) { if (arr[i] == x) return i; } return -1; } } //main TestConstructor3(); TestTimTuanTu(); TestTimNhiPhan(); static void TestConstructor1() {
IntArray obj = new IntArray(20);
Console.WriteLine("Gia tri mang phat sinh: "); obj.Xuat(); } static void TestConstructor2() {
int[] a = { 4, 7, 9, 10, 20, 8, 3, 17, 10, 6 };
IntArray obj = new IntArray(a);
Console.WriteLine("Gia tri mang: "); obj.Xuat(); } static void TestConstructor3() {
IntArray obj1 = new IntArray(); obj1.Nhap();
Console.WriteLine("Gia tri mang: "); obj1.Xuat();
IntArray obj2 = new IntArray(obj1);
Console.WriteLine("\nGia tri mang copy: "); obj2.Xuat(); } static void TestTimTuanTu() { int k, x, kq;
Console.Write(">>Nhap so luong mang: ");
int.TryParse(Console.ReadLine(), out k);
IntArray obj = new IntArray(k);
Console.WriteLine(">>Cac phan tu:"); obj.Xuat();
Console.Write("\n>>Gia tri can tim x = ");
int.TryParse(Console.ReadLine(), out x); kq = obj.TimTuanTu(x); if (kq == -1)
Console.WriteLine("->Khong ton tai {0}!", x); else
Console.WriteLine("->Co {0} tai vi tri {1}", x, kq); }
static int TimNhiPhan(int x, int[] arr) { Array.Sort(arr); int left = 0; int right = arr.Length - 1; while (left <= right) { int mid = (left + right) / 2; if (arr[mid] == x) return mid; else if (arr[mid] < x) left = mid + 1; else right = mid - 1; } return -1; } static void TestTimNhiPhan() { int[] arr;
Console.WriteLine("Nhap so luong phan tu mang: ");
int n = int.Parse(Console.ReadLine()); arr = new int[n]; ( for int i = 0; i < n; i++) {
Console.WriteLine("Nhap phan tu thu {0}: ", i + 1);
arr[i] = int.Parse(Console.ReadLine()); }
Console.WriteLine("\nCac phan tu trong mang: "); ( for int i = 0; i < n; i++) { Console.Write(arr[i] + " "); }
Console.Write("\nNhap gia tri can tim x = ");
int x = int.Parse(Console.ReadLine());
int result = TimNhiPhan(x, arr); if (result == -1)
Console.WriteLine("\nKhong tim thay gia tri {0}", x); else
Console.WriteLine("\nCo gia tri {0} tai vi tri {1}", x, result); } YÊU CẦU 3
Bổ sung thêm các đoạn code sau vào lớp MangSinhVien:
public bool TonTai(string msx, int vt) { ( for int i = 0; i < vt; i++) {
if (a[i].MaSo.CompareTo(msx) == 0) return true; } return false; } public void Nhap() {
Console.WriteLine("Nhap so luong sinh vien: ");
int n = int.Parse(Console.ReadLine()); a = new SinhVien[n]; ( for int i = 0; i < n; i++) { do {
Console.Write("Nhap ma so sinh vien thu {0}: ", i + 1); maSo = Console.ReadLine(); if (TonTai(maSo, i)) {
Console.WriteLine("Ma so sinh vien da ton tai, vui long nhap lai!"); } } while (TonTai(maSo, i)); Nhap(); } }
Bổ sung code trong hàm main :
MangSinhVien dssv = new MangSinhVien(); dssv.Nhap(); dssv.Xuat();