Drupal Consultant
Started my career as a drupal8 developer in EM Solutions . I love learning Web technologies like HTML, CSS, PHP, Jquery Ajax and Drupal backend . Currently working as a drupal backend developer.
Câu 4: Viết chương trình thực hiện các công việc sau
a. Cho phép nhập n số thực (n>0)
b. Xuất mảng vừa nhập
c. Nhập x, thêm x vào đầu mảng
d. Nhập x, vị trí k (0<=k<n), thêm x vào vị trí k vừa nhập
e. Nhập vị trí k (0<=k<n), in phần tử tại vị trí k
f. Nhập vị trí k (0<=k<n), xoá phần tử tại vị trí k
g. Xoá phần tử đầu mảng
h. Nhập x, xoá phần tử x đầu tiên trong mảng
i. Nhập x, xoá tất cả x trong mảng
j. Sắp xếp mảng tăng dần
k. Sắp xếp mảng giảm dần
Gợi ý giải:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Bai_tap_4 { class Program { //Cau 4: Viet chuong trinh thuc hien cac cong viec sau //a. Cho phep nhap n so thuc (n>0) //b. Xuat mang vua nhap //c. Nhap x, them x vao dau mang //d. Nhap x, vi tri k (0<=k<n), them x vao vi tri k vua nhap //e. Nhap vi tri k (0<=k<n), in phan tu tai vi tri k //f. Nhap vi tri k (0<=k<n), xoa phan tu tai vi tri k //g. Xoa phan tu dau mang //h. Nhap x, xoa phan tu x dau tien trong mang //i. Nhap x, xoa tat ca x trong mang //j. Sap xep mang tang dan //k. Sap xep mang giam dan //Ham nhap mang public void setArray(ref int n, ref float[] a) { do { Console.Write("Nhap n (n > 0): "); n = int.Parse(Console.ReadLine()); } while (n <= 0); for (int i = 0; i < n; i++) { Console.Write("Nhap a[{0}]: ", i); a[i] = float.Parse(Console.ReadLine().ToString()); } } //Ham in tat ca cac phan tu trong mang public void print(float[] a, int n) { Console.WriteLine("Day so vua nhap:"); for (int i = 0; i < n; i++) { Console.Write("{0}\t", a[i]); } } //Ham them 1 phan tu vao dau mang public void insertFirst(ref float[] a, ref int n, float x) { for (int i = n; i > 0; i--) { a[i] = a[i - 1]; } a[0] = x; n++; } //Ham chen 1 phan tu vao dung vi tri public void insertAt(ref float[] a, ref int n, float x, int k) { if (k == 0) { insertFirst(ref a, ref n, x); } else { if (k == n) { a[n] = x; } else { for (int i = n; i > k; i--) { a[i] = a[i - 1]; } a[k] = x; } n++; } } //Ham xoa 1 phan tu cuoi cua mang public void removeLast(float[] a, ref int n) { if (n == 0) return; n--; } //Ham xoa 1 phan tu dau cua mang public void removeFirst(ref float[] a, ref int n) { if (n == 0) return; for (int i = 0; i < n - 1; i++) { a[i] = a[i + 1]; } n--; } //Ham xoa mot phan tu tai vi tri k public void removeAt(ref float[] a, ref int n, int k) { if (k < 0 || k >= n) return; if (k == 0) { removeFirst(ref a, ref n); } else { if (k == n - 1) { removeLast(a, ref n); } else { for (int i = k; i < n - 1; i++) { a[i] = a[i + 1]; } n--; } } } //Ham lay ra chi so dau tien cua x trong mang public int getFirstPos(float[] a, int n, float x) { int result = -1; for (int i = 0; i < n; i++) { if (a[i] == x) return i; } return result; } //Ham xoa x dua vao vi tri xuat hien dau tien cua x public void remove(ref float[] a, ref int n, float x) { int pos = getFirstPos(a, n, x); removeAt(ref a, ref n, pos); } //Ham xoa tat ca x trong mang public void removeAll(ref float[] a, ref int n, float x) { for (int i = 0; i < n; i++) { remove(ref a, ref n, x); } } //Ham hoan vi hai so a,b public void swap(ref float a, ref float b) { float tmp = a; a = b; b = tmp; } //Ham sap mang tang dan public void ascSort(ref float[] a, int n) { for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (a[i] > a[j]) swap(ref a[i], ref a[j]); } } } //Ham sap mang giam dan public void descSort(ref float[] a, int n) { for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (a[i] < a[j]) swap(ref a[i], ref a[j]); } } } static void Main(string[] args) { Program p = new Program(); //a. Cho phep nhap n so thuc (n>0) int n = 0; float[] a = new float[100]; p.setArray(ref n, ref a); //b. Xuat mang so nguyen vua nhap p.print(a, n); //c. Nhap x, them x vao dau mang Console.WriteLine("\nNhap x, them x vao dau mang"); float x; Console.Write("Nhap x: "); x = int.Parse(Console.ReadLine()); p.insertFirst(ref a, ref n, x); p.print(a, n); //d. Nhap x, vi tri k (0<=k<n), them x vao vi tri k vua nhap Console.WriteLine("\nNhap x, vi tri k (0<=k<n), them x vao vi tri k vua nhap"); Console.Write("Nhap x: "); x = float.Parse(Console.ReadLine()); int k; do { Console.Write("Nhap k: "); k = int.Parse(Console.ReadLine()); } while (k < 0 || k >= n); p.insertAt(ref a, ref n, x, k); p.print(a, n); //e. Nhap vi tri k (0<=k<n), in phan tu tai vi tri k Console.WriteLine("\nNhap vi tri k (0<=k<n), in phan tu tai vi tri k"); do { Console.Write("Nhap k: "); k = int.Parse(Console.ReadLine()); } while (k < 0 || k >= n); Console.WriteLine("So can tim o vi tri {0} la: {1}", k, a[k]); //f. Nhap vi tri k (0<=k<n), xoa phan tu tai vi tri k Console.WriteLine("\nNhap vi tri k (0<=k<n), xoa phan tu tai vi tri k"); do { Console.Write("Nhap k: "); k = int.Parse(Console.ReadLine()); } while (k < 0 || k >= n); p.removeAt(ref a, ref n, k); p.print(a, n); //g. Xoa phan tu dau mang Console.WriteLine("\nXoa phan tu dau mang"); p.removeFirst(ref a, ref n); p.print(a, n); //h. Nhap x, xoa phan tu x dau tien trong mang Console.WriteLine("\nNhap x, xoa phan tu x dau tien trong mang"); Console.Write("Nhap x: "); x = float.Parse(Console.ReadLine()); p.remove(ref a, ref n, x); p.print(a, n); //i. Nhap x, xoa tat ca x trong mang Console.WriteLine("\nNhap x, xoa tat ca cac phan tu x trong mang"); Console.Write("Nhap x: "); x = float.Parse(Console.ReadLine()); p.removeAll(ref a, ref n, x); p.print(a, n); //j. Sap xep mang tang dan Console.WriteLine("\nSap xep mang tang dan"); p.ascSort(ref a, n); p.print(a, n); //k. Sap xep mang giam dan Console.WriteLine("\nSap xep mang giam dan"); p.descSort(ref a, n); p.print(a, n); // Console.ReadKey(true); } } }