Diễn đàn các môn học - Huỳnh Phước Hải
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Bài tập số 21 -40

+3
levientrinh_10TH
NanoShita
root
7 posters

Trang 1 trong tổng số 2 trang 1, 2  Next

Go down

Bài tập số 21 -40 Empty Bài tập số 21 -40

Bài gửi  root Wed Jan 19, 2011 1:41 am

21. Viết hàm nhập một mảng số nguyên gồm n phần tử.
22. Viết hàm in mảng số nguyên gồm n phần tử
23. Viết hàm tìm phần tử lớn nhất của mảng
24. Viết hàm tìm phần tử lớn nhất trong mảng (trả về giá trị và chỉ số).
25. Viết hàm tìm phần tử nhỏ nhất trong mảng (trả về giá trị và chỉ số).
26. Viết hàm in ra các số nguyên tố trong mảng
27. Viết hàm đếm các số nguyên tố trong mảng
28. Viết hàm trung bình cộng các số nguyên tố trong mảng
29. Viết hàm tính tổng các phần tử chẵn chia hết cho 3.
210. Tính trung bình cộng các phần tử lẻ
31. Viết hàm tính tổng các số chính phương trong mảng
32. Viết hàm liệt kê các số chính phương trong mảng
33. Viết hàm sắp xếp mảng theo thứ tự tăng dần.
34. Viết hàm in ra các số lẻ theo thứ tự trị tuyệt đối tăng dần, các số chẵn theo thứ tự trị tuyệt đối giảm dần.
35. Hãy xoá bất kỳ phần tử trong mảng theo hai cách:
- Xoá khi biết vị trí muốn xoá.
- Xoá phần tử có giá trị là x.
36. Viết chương trình nhập vào một mảng 1 chiều, sau đó tìm xem trong mảng có đoạn tăng nào có số phần tử nhiều nhất.
37. Viết chương trình nhập vào một mảng 1 chiều, sau đó tìm xem trong mảng có đoạn tăng nào có tổng lớn nhất.
38. Viết chương trình nhập vào mảng 1 chiều có n phần tử (có thể dùng hàm randomize cho nhanh) sau đó xuất ra phần tử nào xuất hiện trong mảng nhiều nhất và xuất hiện bao nhiêu lần.
39. Cho mảng số nguyên độ dài n.
- In ra mảng con các phần tử dương dài nhất
- In ra mảng con có tổng lớn nhất.
VD: cho mảng -1 30 2 -2 3 1 5 6 -5 4 8
- In ra mảng con là: 3 1 5 6
- In ra: 30 2
40. Đảo mảng 1 chiều gồm n phần tử nhập từ bàn phím.

root
Admin

Tổng số bài gửi : 37
Join date : 03/01/2011
Age : 38
Đến từ : An Giang

http://www.huynhhai.co.cc

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 21 và 22

Bài gửi  NanoShita Wed Jan 19, 2011 6:10 am

Bài 21:
Code:
        /// <summary>
        /// Hàm nhập vào một mảng số nguyên gồm n phần tử
        /// </summary>
        /// <param name="n">Số phần tử của mảng</param>
        /// <param name="a">mảng số nguyên</param>
        static void NhapMang(int n, int[] a)
        {
            for (int i = 0; i < n; i++)
            {
                Console.Write("Nhap vao phan tu thu {0}: ", i + 1);
                a[i] = int.Parse(Console.ReadLine());
            }
        }


Bài 22:

Code:
        /// <summary>
        /// Hàm in mảng số nguyên gồm n phần tử
        /// </summary>
        /// <param name="n">Số phần tử của mảng</param>
        /// <param name="a">mảng số nguyên</param>
        static void XuatMang(int n, int[] a)
        {
            for (int i = 0; i < n; i++)
            {
                Console.Write("Phan tu thu {0}: {1}\n", i + 1, a[i]);
            }
        }


Được sửa bởi NanoShita ngày Wed Jan 19, 2011 7:45 am; sửa lần 2.

NanoShita

Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 24 và 25

Bài gửi  NanoShita Wed Jan 19, 2011 6:54 am

Bài 24

+ Trả về giá trị
Code:
        /// <summary>
        /// Hàm tìm phần tử lớn nhất trong mảng
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        /// <returns>Trả về giá trị phần tử lớn nhất trong mảng</returns>
        static int Max(int[] a)
        {
            int max = a[0]; //Giả sử a[0] là phần tử lớn nhất
            for (int i = 1; i < a.Length; i++)
            {
                if (a[i] > max)
                    max = a[i];
            }
            return max;
        }
+ Trả về chỉ số cách 1
Code:
        /// <summary>
        /// Hàm trả về chỉ số của phần tử lớn nhất trong mảng
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        /// <returns>Trả về chỉ số phần tử lớn nhất trong mảng</returns>
        static int IndexMax(int[] a)
        {
            int indexMax = 0; //Giả sử phần tử lớn nhất có chỉ số 0
            for (int i = 1; i < a.Length; i++)
            {
                if (a[i] > a[indexMax])
                    indexMax = i;
            }
            return indexMax;
        }
+ Trả về chỉ số cách 2 (đã cài đặt hàm Max(int[] a)
Code:
        /// <summary>
        /// Hàm trả về chỉ số của phần tử lớn nhất trong mảng
        /// Yêu cầu hàm static int Max(int[] a) đã được cài đặt
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        /// <returns>Trả về chỉ số phần tử lớn nhất trong mảng</returns>
        static int IndexMax2(int[] a)
        {
            int max = Max(a); //max là giá trị phần tử lớn nhất
            //Duyệt hết mảng tìm phần tử bằng max
            //và trả về chỉ số của phần tử đó
            int i = 0;
            while (a[i] != max)
                i++;
            return i;
        }

Bài 25

+ Trả về giá trị
Code:
        /// <summary>
        /// Hàm tìm phần tử nhỏ nhất trong mảng
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        /// <returns>Trả về giá trị phần tử nhỏ nhất trong mảng</returns>
        static int Min(int[] a)
        {
            int min = a[0]; //Giả sử a[0] là phần tử nhỏ nhất
            for (int i = 1; i < a.Length; i++)
            {
                if (a[i] < min)
                    min = a[i];
            }
            return min;
        }
+ Trả về chỉ số
Code:
        /// <summary>
        /// Hàm trả về chỉ số của phần tử nhỏ nhất trong mảng
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        /// <returns>Trả về chỉ số phần tử nhỏ nhất trong mảng</returns>
        static int IndexMin(int[] a)
        {
            int indexMin = 0; //Giả sử phần tử nhỏ nhất có chỉ số 0
            for (int i = 1; i < a.Length; i++)
            {
                if (a[i] < a[indexMin])
                    indexMin = i;
            }
            return indexMin;
        }

NanoShita

Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 26, 27, 28

Bài gửi  NanoShita Wed Jan 19, 2011 7:26 am

Để cho đơn giản các bài liên quan đến số nguyên tố ta viết thêm một hàm kiểm tra một số có là số nguyên tố hay không.

Code:
        /// <summary>
        /// Hàm kiểm tra x có là số nguyên tố hay không
        /// Ta sẽ xét các trường hợp x không là số nguyên tố như:
        ///    x < 2
        ///    x chia hết cho bất kỳ số nào từ 2 đến căn bậc 2 của x
        /// Nếu x không thuộc các trường hợp đó thì x là số nguyên tố
        /// </summary>
        static bool IsNguyenTo(int x)
        {
            if (x < 2)
                return false; //x Không là số nguyên tố
            for (int i = 2; i <= Math.Sqrt(x); i++)
                //Nếu x chia hết cho bất kỳ số nào từ 2 đến căn bậc 2 của x
                //thì x không là số nguyên tố
                if (x % i == 0)
                    return false; //x Không là số nguyên tố
            return true; //x là số nguyên tố

        }

Bài 26

Code:
        /// <summary>
        /// Hàm in ra các số nguyên tố trong mảng
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        static void InNguyenTo(int[] a)
        {
            //Duyệt hết mảng. Phần tử nào là số nguyên tố thì in ra
            for (int i = 0; i < a.Length; i++)
            {
                if (IsNguyenTo(a[i]))
                    Console.Write(" {0}", a[i]);
            }
        }

Bài 27

Code:
        /// <summary>
        /// Hàm đếm các số nguyên tố trong mảng
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        /// <returns>Trả về số lượng số nguyên tố trong mảng</returns>
        static int CountNguyenTo(int[] a)
        {
            int count = 0;
            for (int i = 0; i < a.Length; i++)
            {
                if (IsNguyenTo(a[i]))
                    count++;
            }
            return count;
        }

Bài 28

Code:
        /// <summary>
        /// Hàm trung bình cộng các số nguyên tố trong mảng
        /// </summary>
        /// <param name="a">Mảng số nguyên</param>
        /// <returns>Trả về trung bình cộng các số nguyên tố trong mảng</returns>
        static double TBCongNguyenTo(int[] a)
        {
            int cout = 0; //Số lượng số nguyên tố trong mảng
            int sum = 0; //Tổng các số nguyên tố trong mảng
            for (int i = 0; i < a.Length; i++)
            {
                if (IsNguyenTo(a[i]))
                {
                    cout++;
                    sum = sum + a[i];
                }
            }
            return ((double)sum / cout);
        }

NanoShita

Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 35

Bài gửi  NanoShita Fri Jan 21, 2011 1:41 am

35. Hãy xoá bất kỳ phần tử trong mảng theo hai cách:
- Xoá khi biết vị trí muốn xoá.
- Xoá phần tử có giá trị là x.

+ Xoá khi biết vị trí muốn xoá.
Code:
        /// <summary>
        /// Hàm xóa bất kỳ phần tử trong mảng theo vị trí
        /// </summary>
        /// <param name="viTri">Vị trí cần xóa</param>
        /// <param name="a">Mảng số nguyên</param>
        static void Delete(int viTri, ref int[] a)
        {
            //Dịch trái 1 phần tử (đoạn từ vị trí xóa đến cuối mảng)
            for (int i = viTri; i < a.Length - 1; i++)
            {
                a[i] = a[i + 1];
            }
            //Giảm kích thước mảng xuống 1 phần tử
            Array.Resize<int>(ref a, a.Length - 1);
        }

+ Xoá phần tử có giá trị là x (xuất hiện đầu tiên trong mảng).
Code:
        /// <summary>
        /// Hàm xóa phần tử có giá trị x xuất hiện đầu tiên trong mảng
        /// </summary>
        /// <param name="x">Giá trị phần tử cần xóa</param>
        /// <param name="a">Mảng số nguyên</param>
        static void Delete(int x, ref int[] a)
        {
            int viTri = 0; //Vị trí cần xóa
            //Tìm vị trí cần xóa
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] == x)
                {
                    viTri = i;
                    break; //Thoát khỏi vòng lặp for
                }
            }
            //Dịch trái 1 phần tử (đoạn từ vị trí xóa đến cuối mảng)
            for (int i = viTri; i < a.Length - 1; i++)
            {
                a[i] = a[i + 1];
            }
            //Giảm kích thước mảng xuống 1 phần tử
            Array.Resize<int>(ref a, a.Length - 1);
        }

+ Xóa tất cả các phần tử có giá trị x trong mảng (yêu cầu hàm Xoá khi biết vị trí muốn xoá đã được cài đặt)
Code:
        /// <summary>
        /// Hàm xóa tất cả các phần tử có giá trị x
        /// </summary>
        /// <param name="x">Giá trị phần tử cần xóa</param>
        /// <param name="a">Mảng số nguyên</param>
        static void DeleteAll(int x, ref int[] a)
        {
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] == x)
                    Delete(i, ref a); //Xóa phần tử tại vị trí i
            }
        }

NanoShita

Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 36

Bài gửi  NanoShita Fri Jan 21, 2011 6:00 am

36. Viết chương trình nhập vào một mảng 1 chiều, sau đó tìm xem trong mảng có đoạn tăng nào có số phần tử nhiều nhất.

+ Ý tưởng: Ta cần thực hiện 3 bước
Bước 1: Nhập mảng với số phần tử lớn hơn 0.
Code:
            //Nhập số phần tử
            int n;
            do
            {
                Console.Write("Nhap so phan tu: ");
                n = int.Parse(Console.ReadLine());
            } while (n <= 0); //Điều kiện n phải lớn hơn 0
            int[] a = new int[n];
            //Nhập mảng
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write("Nhap vao phan tu thu {0}: ", i + 1);
                a[i] = int.Parse(Console.ReadLine());
            }
Bước 2: Duyệt hết mảng để tìm đoạn tăng có số phần tử nhiều nhất. Sau khi tìm được thì đánh dấu 2 giá trị vị trí bắt đầu đoạn đó và số phần tử của đoạn đó.
Code:
            //Tìm đoạn tăng có số phần tử nhiều nhất
            int soPhanTuTang = 1; //Số phần tử tăng của một đoạn tăng bất kỳ
            int soPhanTuTangMax = 1; //Số phần tử tăng của đoạn cần tìm
            int viTri = 0; //Vị trí bắt đầu đoạn tăng
            for (int i = 1; i < a.Length; i++)
            {
                //Nếu 2 phần tử liên tiếp tăng thì ...
                if (a[i - 1] < a[i])
                {
                    soPhanTuTang++;
                    //Nếu đây là đoạn tăng có số phần tử nhiều nhất ...
                    if (soPhanTuTang > soPhanTuTangMax)
                    {
                        soPhanTuTangMax = soPhanTuTang;
                        viTri = i - soPhanTuTangMax + 1; //Đánh dấu vị trí bắt đầu
                    }
                }
                //Ngược lại.
                //Nghĩa là đã kết thúc 1 đoạn tăng
                //thì khởi tạo giá trị lại cho biến soPhanTuTang
                else
                    soPhanTuTang = 1;
            }
Bước 3: In ra màn hình đoạn tăng có số phần tử nhiều nhất
Code:
            //In ra đoạn tăng có số phần tử nhiều nhất
            Console.Write("Doan tang co so phan tu nhieu nhat: ");
            for (int i = viTri; i < viTri + soPhanTuTangMax; i++)
                Console.Write("{0} ", a[i]);
            Console.ReadLine();

Code đầy đủ
Code:
using System;

namespace Bai36
{
    class Program
    {
        static void Main(string[] args)
        {
            //Nhập số phần tử
            int n;
            do
            {
                Console.Write("Nhap so phan tu: ");
                n = int.Parse(Console.ReadLine());
            } while (n <= 0); //Điều kiện n phải lớn hơn 0
            int[] a = new int[n];
            //Nhập mảng
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write("Nhap vao phan tu thu {0}: ", i + 1);
                a[i] = int.Parse(Console.ReadLine());
            }
            //Tìm đoạn tăng có số phần tử nhiều nhất
            int soPhanTuTang = 1; //Số phần tử tăng của một đoạn tăng bất kỳ
            int soPhanTuTangMax = 1; //Số phần tử tăng của đoạn cần tìm
            int viTri = 0; //Vị trí bắt đầu đoạn tăng
            for (int i = 1; i < a.Length; i++)
            {
                //Nếu 2 phần tử liên tiếp tăng thì ...
                if (a[i - 1] < a[i])
                {
                    soPhanTuTang++;
                    //Nếu đây là đoạn tăng có số phần tử nhiều nhất ...
                    if (soPhanTuTang > soPhanTuTangMax)
                    {
                        soPhanTuTangMax = soPhanTuTang;
                        viTri = i - soPhanTuTangMax + 1; //Đánh dấu vị trí bắt đầu
                    }
                }
                //Ngược lại.
                //Nghĩa là đã kết thúc 1 đoạn tăng
                //thì khởi tạo giá trị lại cho biến soPhanTuTang
                else
                    soPhanTuTang = 1;
            }
            //In ra đoạn tăng có số phần tử nhiều nhất
            Console.Write("Doan tang co so phan tu nhieu nhat: ");
            for (int i = viTri; i < viTri + soPhanTuTangMax; i++)
                Console.Write("{0} ", a[i]);
            Console.ReadLine();
        }
    }
}

NanoShita

Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 37

Bài gửi  NanoShita Fri Jan 21, 2011 6:12 am

37. Viết chương trình nhập vào một mảng 1 chiều, sau đó tìm xem trong mảng có đoạn tăng nào có tổng lớn nhất.

Tương tự như bài 36. Trong bước 2 ta thêm vào 2 biến sumTang sumTangMax để so sánh và tìm đoạn tăng có tổng lớn nhất.

Code đầy đủ
Code:
using System;

namespace Bai37
{
    class Program
    {
        static void Main(string[] args)
        {
            //Nhập số phần tử
            int n;
            do
            {
                Console.Write("Nhap so phan tu: ");
                n = int.Parse(Console.ReadLine());
            } while (n <= 0); //Điều kiện n phải lớn hơn 0
            int[] a = new int[n];
            //Nhập mảng
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write("Nhap vao phan tu thu {0}: ", i + 1);
                a[i] = int.Parse(Console.ReadLine());
            }
            //Tìm đoạn tăng có tổng lớn nhất
            int soPhanTuTang = 1; //Số phần tử tăng của một đoạn tăng bất kỳ
            int soPhanTuTangMax = 1; //Số phần tử của đoạn tăng cần tìm
            int sumTang = a[0]; //Tổng của đoạn tăng bất kỳ
            int sumTangMax = a[0]; //Tổng lớn nhất
            int viTri = 0; //Vị trí bắt đầu đoạn tăng
            for (int i = 1; i < a.Length; i++)
            {
                //Nếu 2 phần tử liên tiếp tăng thì ...
                if (a[i - 1] < a[i])
                {
                    soPhanTuTang++;
                    sumTang = sumTang + a[i];
                    //Nếu đây là đoạn tăng có tổng lớn nhất thì ...
                    if (sumTang > sumTangMax)
                    {
                        sumTangMax = sumTang;
                        soPhanTuTangMax = soPhanTuTang;
                        viTri = i - soPhanTuTangMax + 1; //Đánh dấu vị trí bắt đầu
                    }
                }
                //Ngược lại.
                //Nghĩa là đã kết thúc 1 đoạn tăng
                //thì khởi tạo giá trị lại cho 2 biến sumTang và soPhanTuTang
                else
                {
                    soPhanTuTang = 1;
                    sumTang = a[i];
                }
            }
            //In ra đoạn tăng có số phần tử nhiều nhất
            Console.Write("Doan tang co tong lon nhat: ");
            for (int i = viTri; i < viTri + soPhanTuTangMax; i++)
                Console.Write("{0} ", a[i]);
            Console.ReadLine();
        }
    }
}

NanoShita

Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 38

Bài gửi  NanoShita Sat Jan 22, 2011 9:27 pm

38. Viết chương trình nhập vào mảng 1 chiều có n phần tử (có thể dùng
hàm randomize cho nhanh) sau đó xuất ra phần tử nào xuất hiện trong mảng
nhiều nhất và xuất hiện bao nhiêu lần.

+ Yêu cầu:
- Nhập ngẫu nhiên n phần tử vào mảng 1 chiều
- Xuất ra phần tử xuất hiện nhiều lần nhất và số lần xuất hiện
Bài tập số 21 -40 Outputs

+ Ý tưởng
- Ta sẽ tạo ra 1 mảng 2 chiều có 2 dòng: dòng 1 chứa giá trị và dòng 2 chứa số lần xuất hiện của giá trị đó.
Giá trị
8
1
4
2
0
6
Số lần xuất hiện
2
4
2
5
1
1
- Ta sẽ duyệt qua từng phần tử. Mỗi phần tử sẽ đếm số lần xuất hiện của nó và gán vào mảng 2 chiều trên.
- Đến đây, ta chỉ cần duyệt mảng 2 chiều để tìm phần tử nào có số lần xuất hiện nhiều nhất. Sau khi tìm được thì đánh dấu chỉ số của nó.
- Cuối cùng, xuất giá trị và số lần xuất hiện nhiều nhất ra.

+ Code

Code:
using System;

namespace Bai38
{
    class Program
    {
        /// <summary>
        /// Hàm kiểm tra sự x có tồn tại trong mảng a hay không
        /// </summary>
        /// <param name="x">Giá trị cần kiểm tra</param>
        /// <param name="n">Số phần tử thực sự của mảng a</param>
        /// <param name="a">Mảng số nguyên 2 chiều</param>
        /// <returns></returns>
        static bool IsExit(int x, int n, int[, ]a)
        {
            for (int i = 0; i < n; i++)
                if (x == a[0, i])
                    return true;
            return false;
        }
        static void Main()
        {
            /*
            * Nhập mảng 1 chiều n phần tử
            */
            //Nhập số phần tử
            int n;
            do
            {
                Console.Write("Nhap so phan tu: ");
                n = int.Parse(Console.ReadLine());
            } while (n <= 0); //Điều kiện n phải lớn hơn 0
            int[] a = new int[n];
            //Nhập ngẫu nhiên n phần tử
            Random ran = new Random();
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = ran.Next(10); //Tạo số ngẫu nhiên từ 0 đến 9
            }
            //Xuất mảng vừa tạo
            Console.Write("Mang vua tao: \n");
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write("{0}\t", a[i]);
            }
            /*
            * Tìm phần tử xuất hiện nhiều lần nhất
            * và số lần xuất hiện trong mảng
            */
            //Tạo mảng 2 chiều có 2 dòng n cột
            //Dùng để đếm số lần xuất hiện của mỗi phần tử trong mảng
            //Dòng 1 chứa giá trị
            //Dòng 2 chứa số lần xuất hiện
            int[,] mangCount = new int[2, n];
            int countKhac = 0; //Số phần tử khác nhau trong mảng

            //Đếm số lần xuất hiện của mỗi phần tử trong mảng
            //và gán vào mảng 2 chiều mangCount
            int count = 0; //Số lần xuất hiện của mỗi phần tử
            for (int i = 0; i < a.Length; i++)
            {
                //Phần tử a[i] có 1 lần xuất hiện
                count = 1;
                //Đếm số lần xuất hiện của a[i]
                for (int j = i + 1; j < a.Length; j++)
                    if (a[i] == a[j])
                        count++; //Phần tử a[i] có thêm 1 lần xuất hiện
                //Nếu a[i] chưa có trong mảng mangCount thì thêm vào
                if (!IsExit(a[i], countKhac, mangCount))
                {
                    //Thêm vào giá trị a[i]
                    mangCount[0, countKhac] = a[i];
                    //Thêm vào số lần xuất hiện của a[i]
                    mangCount[1, countKhac] = count;
                    //Tăng số phần tử khác nhau trong mảng a lên 1 đơn vị
                    countKhac++;
                }
            }
            Console.Write("\nGia tri: So lan xuat hien\n");
            for (int i = 0; i < countKhac; i++)
            {
                Console.Write("\n    {0}:\t  {1}", mangCount[0, i], mangCount[1, i]);
            }
            //Tìm số lần xuất hiện nhiều nhất
            int countMax = mangCount[1, 0]; //Số lần xuất hiện nhiều nhất
            int chiSo = 0; //Chỉ số của phần tử xuất hiện nhiều nhất
            for (int i = 1; i < countKhac; i++)
            {
                if (mangCount[1, i] > countMax)
                {
                    countMax = mangCount[1, i];
                    chiSo = i; //Đánh dấu chỉ số
                }
            }
            //Xuất kết quả
            Console.Write("\nPhan tu xuat hien nhieu nhat la: ");
            Console.Write("{0}, xuat hien {1} lan", mangCount[0, chiSo], mangCount[1, chiSo]);
            Console.ReadLine();
        }
    }
}

NanoShita

Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bai tap 29

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:54 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        public static long tinhtong(int[] a)
        {
            int S = 0;
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] % 2 == 0 && a[i] % 3 == 0)
                {
                    S += a[i];
                }
            }
            return S;
        }
        static void Main(string[] args)
        {
            int n;
            long s;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                mang[i] = int.Parse(Console.ReadLine());
            }
            s = tinhtong(mang);
            Console.WriteLine("Tong la " + s);
            Console.ReadLine();
        }
    }
}
//Bài tập này tương đối đơn giản, nên tôi không giải thích nhiều
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 30

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:55 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        public static double tinhtble(int[] a)
        {
            double S = 0;
            int n=0;
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] % 2 != 0)
                {
                    S += a[i];
                    n += 1;
                }
            }
            if (n == 0)
                return 0;
            else
            return S/n;
        }
        static void Main(string[] args)
        {
            int n;
            double s;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                mang[i] = int.Parse(Console.ReadLine());
            }
            s = tinhtble(mang);
            Console.WriteLine("Trung binh tong cac phan tu le " + s);
            Console.ReadLine();
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 31

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:56 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        //Ý tưởng cơ bản để xét một số có phải số chính phương hay không
        //Ta cho biến tam có kiểu double để chứa căn bậc hai của số cần kiểm tra
        //Sau đó cho biến tam2 chứa giá trị chuyển kiểu long của biến tam
        //Nếu tam2^2 = số cần kiểm tra thì nó là số chính phương
        public static long tongchinhphuong(int[]a)
        {
            long S = 0;
            for (int i = 0; i < a.Length; i++)
            {
                double tam = Math.Sqrt(a[i]);
                long tam2 = (long)tam;
                if (Math.Pow(tam2, 2) == a[i])
                    S += a[i];
            }
            return S;
        }
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                do
                {
                    Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                    mang[i] = int.Parse(Console.ReadLine());
                } while (mang[i] < 1);
            }
            Console.WriteLine("Tong cac so chinh phuong trong mang la "+tongchinhphuong(mang));
            Console.ReadLine();
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 32

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:56 pm

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
class Program
{
//Ý tưởng cơ bản để xét một số có phải số chính phương hay không
//Ta cho biến tam có kiểu double để chứa căn bậc hai của số cần kiểm tra
//Sau đó cho biến tam2 chứa giá trị chuyển kiểu long của biến tam
//Nếu tam2^2 = số cần kiểm tra thì nó là số chính phương
public static bool chinhphuong(int so)
{
double tam = Math.Sqrt(so);
long tam2 = (long)tam;
if (Math.Pow(tam2, 2) == so)
return true;
else
return false;
}
static void Main(string[] args)
{
int n;
Console.WriteLine("Ban nhap so phan tu");
n = int.Parse(Console.ReadLine());
int[] mang = new int[n];
for (int i = 0; i < n; i++)
{
do
{
Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
mang[i] = int.Parse(Console.ReadLine());
} while (mang[i] < 1);
}
Console.WriteLine("Cac so chinh phuong trong mang la");
for (int i = 0; i < mang.Length; i++)
{
if(chinhphuong(mang[i])==true)
Console.Write(mang[i]+" - ");
}
Console.ReadLine();

}
}
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 33

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:56 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        //Sắp xếp theo phương pháp tráo đổi trực tiếp
        public static void Sapxep(ref int[] mang)
        {
            for (int i = 0; i < mang.Length-1; i++)
            {
                for (int j = i+1; j < mang.Length; j++)
                {
                    if (mang[j] < mang[i])
                    {
                        int tam = mang[j];
                        mang[j] = mang[i];
                        mang[i] = tam;
                    }
                }
            }
        }
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                    Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                    mang[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("Phan tu sau khi duoc sap xep la");
            Sapxep(ref mang);
            for (int i = 0; i < n; i++)
            {
                Console.Write(mang[i] + " - ");
            }
            Console.ReadLine();
         
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 34

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:57 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        public static void printmang(int[] a)
        {
            int[] mangchan=new int[a.Length];//Mảng chứa các số chẵn
            int[] mangle=new int[a.Length];//Mảng chứa các số lẻ
            int chan = 0, le = 0;
            for (int i = 0; i < a.Length; i++)//Nếu phẩn tử là chẵn thì đưa vào mangchan con khong thi dua vao mangle
            {
                if (Math.Abs(a[i]) % 2 == 0)
                {
                    mangchan[chan++] = a[i];
                }
                else
                {
                    mangle[le++] = a[i];
                }
            }
            for (int i = 0; i < chan-1; i++)//Sắp xếp tăng dần hoặc giảm dần theo giá trị tuyệt đối
            {
                for (int j = i+1; j < chan; j++)
                {
                    if (Math.Abs(mangchan[j]) > Math.Abs(mangchan[i]))
                    {
                        int tam = mangchan[j];
                        mangchan[j] = mangchan[i];
                        mangchan[i] = tam;
                    }
                }
            }
            for (int i = 0; i < le - 1; i++)
            {
                for (int j = i+1; j < le; j++)
                {
                    if (Math.Abs(mangle[j]) < Math.Abs(mangle[i]))
                    {
                        int tam = mangle[j];
                        mangle[j] = mangle[i];
                        mangle[i] = tam;
                    }
                }
            }
            Console.WriteLine("Cac so chan sap giam dan theo tri tuyet doi");
            for (int i = 0; i < chan; i++)
            {
                Console.Write(mangchan[i] + " -> ");
            }
            Console.WriteLine();
            Console.WriteLine("Cac so le sap tang dan theo tri tuyet doi");
            for (int i = 0; i < le; i++)
            {
                Console.Write(mangle[i] + " <- ");
            }
        }
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                mang[i] = int.Parse(Console.ReadLine());
            }
            printmang(mang);
            Console.ReadLine();
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 35

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:57 pm

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
class Program
{
public static void xoabietvitri(ref int[] a, int vitri)
{
for (int i = vitri - 1; i < a.Length-1; i++)
{
a[i] = a[i + 1];//Dùng phương pháp thế chỗ để xóa mảng
}
Array.Resize(ref a, a.Length - 1);
}
public static void xoabietphantu(ref int[] a, int x)
{
for (int i = 0; i < a.Length; i++)
{
if (a[i] == x)
{
for (int j = i; j < a.Length-1; j++)
{
a[j] = a[j + 1];
}
Array.Resize(ref a, a.Length - 1);
i -= 1;//Biến i giảm về 1 nhằm để tránh sót nhiều phần tử liền kề trùng nhau
}
}
}
static void Main(string[] args)
{
int n = 0;
Console.WriteLine("Ban nhap so phan tu");
n = int.Parse(Console.ReadLine());
int[] mang = new int[n];
for (int i = 0; i < n; i++)
{
Console.WriteLine("Ban nhap phan tu thu {0}", i + 1);
mang[i] = int.Parse(Console.ReadLine());
}
Console.WriteLine("Ban nhap vi tri muon xoa");
int vitri = int.Parse(Console.ReadLine());
if (vitri > n || vitri < 1)
Console.WriteLine("Ban nhap vi tri khong hop le");
else
{
Console.WriteLine("Mang sau khi bi xoa xong");
xoabietvitri(ref mang, vitri);
for (int i = 0; i < mang.Length; i++)
{
Console.Write(mang[i] + " - ");
}
}
Console.ReadLine();
Console.WriteLine("Ban nhap phan tu muon xoa");
int xoa = int.Parse(Console.ReadLine());
if (mang.Contains(xoa) == true)
{
xoabietphantu(ref mang, xoa);
Console.WriteLine("Mang sau khi bi xoa xong");
for (int i = 0; i < mang.Length; i++)
{
Console.Write(mang[i] + " - ");
}
}
else
Console.WriteLine("Phan tu ban muon xoa hien khong co trong mang");
Console.ReadLine();
}
}
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 35 post lại cho các bạn dễ nhìn

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:58 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        public static void xoabietvitri(ref int[] a, int vitri)
        {
            for (int i = vitri - 1; i < a.Length-1; i++)
            {
                a[i] = a[i + 1];//Dùng phương pháp thế chỗ để xóa mảng
            }
            Array.Resize(ref a, a.Length - 1);
        }
        public static void xoabietphantu(ref int[] a, int x)
        {
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] == x)
                {
                    for (int j = i; j < a.Length-1; j++)
                    {
                        a[j] = a[j + 1];
                    }
                    Array.Resize(ref a, a.Length - 1);
                    i -= 1;//Biến i giảm về 1 nhằm để tránh sót nhiều phần tử liền kề trùng nhau
                }
            }
        }
        static void Main(string[] args)
        {
            int n = 0;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Ban nhap phan tu thu {0}", i + 1);
                mang[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("Ban nhap vi tri muon xoa");
            int vitri = int.Parse(Console.ReadLine());
            if (vitri > n || vitri < 1)
                Console.WriteLine("Ban nhap vi tri khong hop le");
            else
            {
                Console.WriteLine("Mang sau khi bi xoa xong");
                xoabietvitri(ref mang, vitri);
                for (int i = 0; i < mang.Length; i++)
                {
                    Console.Write(mang[i] + " - ");
                }
            }
            Console.ReadLine();
            Console.WriteLine("Ban nhap phan tu muon xoa");
            int xoa = int.Parse(Console.ReadLine());
            if (mang.Contains(xoa) == true)
            {
                xoabietphantu(ref mang, xoa);
                Console.WriteLine("Mang sau khi bi xoa xong");
                for (int i = 0; i < mang.Length; i++)
                {
                    Console.Write(mang[i] + " - ");
                }
            }
            else
                Console.WriteLine("Phan tu ban muon xoa hien khong co trong mang");
            Console.ReadLine();
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 36

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:58 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            do
            {
                Console.WriteLine("Ban nhap so phan tu lon hon 1");
                n = int.Parse(Console.ReadLine());
            } while (n < 2);
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                mang[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("Phan tu ban da nhap la");
            for (int i = 0; i < n; i++)
            {
                Console.Write(mang[i]+" ");
            }
            Console.WriteLine("\nDoan co phan tu tang dai nhat la");
            bool timthay = false;
            for (int i = mang.Length-1; i >= 1; i--)
            {
                for (int j = 0; j < mang.Length-1; j++)
                {
                    int dem=0;
                    int h = j;
                    while (mang[h+1] >= mang[h])
                    {
                        dem++;
                        h += 1;
                        if (h == mang.Length-1)
                            break;
                    }
                    if (dem == i)
                    {
                        for (int k = j; k < dem + j+1; k++)
                        {
                            Console.Write(mang[k] +"  ");
                        }
                        Console.WriteLine();
                        timthay = true;
                    }
                }
                if (timthay == true) break;
            }
            Console.ReadLine();
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty BÀI TẬP 38

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 5:59 pm

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
class Program
{

public static int sophantu(int so, int[]a)
{
int sophantu=0;
for (int i = 0; i < a.Length; i++)
{
if (a[i] == so) //Nếu a[i] bằng phần tử cần đếm thì sophantu tăng lên 1
sophantu += 1;
}
return sophantu;
}
static void Main(string[] args)
{
int n;
Console.WriteLine("Ban nhap so phan tu");
n = int.Parse(Console.ReadLine());
int[] mang = new int[n];
for (int i = 0; i < n; i++)
{
Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
mang[i] = int.Parse(Console.ReadLine());
}
int maxsophantu=0;
int giatrimax=0;
//Cho vòng lặp đi từ đầu đến cuối
//Giả sử cho maxsophantu la 0, nếu sophantu của phần tử trong mảng lớn hơn maxsophantu thì ta cho maxsophantu = sophantu tìm đươc;
//Tương tự cho giatrimax
for (int i = 0; i < mang.Length; i++)
{
if (sophantu(mang[i], mang) > maxsophantu)
{
maxsophantu = sophantu(mang[i], mang);
giatrimax = mang[i];
}
}
if (maxsophantu == 1 && giatrimax == mang[0])
{
Console.WriteLine("Phan tu co gia tri xuat hien nhieu nhat la");
for (int i = 0; i < mang.Length; i++)
{
Console.Write(mang[i] + " - ");
}
Console.WriteLine("So lan xuat hien la 1");
}
else
{
Console.WriteLine("Phan tu co gia tri xuat hien nhieu nhat la " + giatrimax);
Console.WriteLine("So lan xuat hien la " + maxsophantu);
}
Console.ReadLine();
}
}
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 39

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 6:00 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                mang[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("Phan tu ban da nhap la");
            for (int i = 0; i < n; i++)
            {
                Console.Write(mang[i]+" ");
            }
            Console.WriteLine("\nDoan co phan tu duong dai nhat la");
            bool timthay = false;
            for (int i = mang.Length; i >= 1; i--)
            {
                for (int j = 0; j < mang.Length; j++)
                {
                    int dem=0;
                    int h = j;
                    while (mang[h] > 0)
                    {
                        dem++;
                        h += 1;
                        if (h == mang.Length)
                            break;
                    }
                    if (dem == i)
                    {
                        for (int k = j; k < dem + j; k++)
                        {
                            Console.Write(mang[k] +"  ");
                        }
                        Console.WriteLine();
                        timthay = true;
                    }
                }
                if (timthay == true) break;
            }
            Console.ReadLine();
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Bài 40

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 6:00 pm

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bai_tap_21___40
{
    class Program
    {
       
        public static void daomang(ref int[] a)//Hàm đảo mảng dùng để đảo ngược phần tử trong mảng
        {
            int length = a.Length - 1;
            for (int i = 0; i <= a.Length / 2-1; i++)
            {
                int tam = a[i];//Biến tạm chứa phần tử tạm thời của phần tử thứ i;
                int length2 = length;//Biến length2 chứa tạm thời giá trị của lenght trước khi lengh thay đổi
                a[i] = a[length--];
                a[length2] = tam;
            }
        }
        static void Main(string[] args)
        {
            int n;
            Console.WriteLine("Ban nhap so phan tu");
            n = int.Parse(Console.ReadLine());
            int[] mang = new int[n];
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Ban nhap phan tu thu " + (i + 1));
                mang[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("Mang ban da nhap");
            for (int i = 0; i < n; i++)
            {
                Console.Write(mang[i]+" - ");
            }
            daomang(ref mang);
            Console.WriteLine();
            Console.WriteLine("Mang da duoc dao la");
            for (int i = 0; i < n; i++)
            {
                Console.Write(mang[i] + " - ");
            }
            Console.ReadLine();
        }
    }
}
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Góp ý

Bài gửi  levientrinh_10TH Sun Jan 23, 2011 6:03 pm

Một số bài tập không có chú thích, hoặc giải thích thì các bạn nên liên hệ tác giả bài viết để hỏi.
Các bạn nên tự giải bài tập trước ở nhà trước khi vào xem bài giải sẵn của một số bạn trên diễn đàn.
levientrinh_10TH
levientrinh_10TH

Tổng số bài gửi : 30
Join date : 05/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty 30: Tính trung binh cộng các phần tử lẻ

Bài gửi  LoveIT Sun Jan 23, 2011 6:17 pm

using System;


namespace TRUNG_BINH_CONG_CAC_SO_LE
{
class TBle
{
int[] myArray;

public void Nhap()
{
int n;
Console.Write("Nhap vao so phan tu of mang:");
n = int.Parse(Console.ReadLine());
myArray = new int[n];
for (int i = 0; i < n; i++)
{
Console.Write("myArray[{0}]= ", i + 1);
int s = int.Parse(Console.ReadLine()); //nhap vao gia tri of mang
myArray[i] = s;
}
}

public double SumLe()
{
double Sum = 0;
for (int i = 0; i < myArray.Length; i++)
if (myArray[i] % 2 != 0) //so le
Sum += myArray[i];
return Sum;
}

public double DemLe()
{
int Dem = 0, j=0;

while(j < myArray.Length)
{
if (myArray[j] % 2 != 0)
Dem++;
j++;
}
return Dem;
}

public double AVGLe()
{
double Kq = SumLe() / DemLe();
return Kq;
}
}
class Program
{
static void Main(string[] args)
{
TBle e = new TBle();
e.Nhap();
Console.WriteLine("AVG cac so le : {0}", e.AVGLe());

}
}
}

LoveIT

Tổng số bài gửi : 15
Join date : 16/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty 31: Tổng các số chình phương trong mảng

Bài gửi  LoveIT Sun Jan 23, 2011 6:21 pm


using System;


namespace TONG_SO_CPHUONG
{
class TongSOCp
{
int[] myArray;

//số chính phương là số lấy căn được
public bool IsChinhPuong(int x)
{
bool cp = false;
if (Math.Pow( (int)Math.Sqrt(x) , 2) == x)
cp = true;
return cp;
}

public int TongSoCP()
{
int sum=0;
for(int i = 0;i < myArray.Length; i++)
{
if (IsChinhPuong(myArray[i]))
sum += myArray[i];
}
return sum;
}

public void Nhap()
{
int n;
Console.Write("Nhap vao so phan tu of mang:");
n = int.Parse(Console.ReadLine());
myArray = new int[n];
for (int i = 0; i < n; i++)
{
Console.Write("myArray[{0}]= ", i + 1);
int s = int.Parse(Console.ReadLine()); //nhap vao gia tri of mang
myArray[i] = s;
}
}
}
class Program
{
static void Main(string[] args)
{
TongSOCp c = new TongSOCp();
c.Nhap();
Console.WriteLine("Tong cac so chinh phuong: {0}", c.TongSoCP());

}
}
}

LoveIT

Tổng số bài gửi : 15
Join date : 16/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty 32. Viết hàm liệt kê các số chính phương trong mảng(code full)

Bài gửi  LoveIT Sun Jan 23, 2011 6:32 pm

using System;


namespace VIEWSOCP
{
class test
{
int[] myArray;

//so chính phuong la so lay can duoc
// vi du: cac so chinh phuong: 81,1...
//cac so khong phai la so chinh phuong
// vi du: 2,3...
public bool IsChinhPuong(int x)
{
bool cp = false;
if (Math.Pow((int)Math.Sqrt(x), 2) == x)
cp = true;
return cp;
}

public void Nhap()
{
int n;
Console.Write("Nhap vao so phan tu of mang:");
n = int.Parse(Console.ReadLine());
myArray = new int[n];
for (int i = 0; i < n; i++)
{
Console.Write("myArray[{0}]= ", i + 1);
int s = int.Parse(Console.ReadLine()); //nhap vao gia tri of mang
myArray[i] = s;
}
}

public void ViewCP()
{
for (int i = 0; i < myArray.Length; i++)
{
if (IsChinhPuong(myArray[i]))
Console.Write(myArray[i]+" ");
}
}
}
class Program
{
static void Main(string[] args)
{
test e = new test();
e.Nhap();
e.ViewCP();
}
}
}

LoveIT

Tổng số bài gửi : 15
Join date : 16/01/2011

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Cứ Từ Từ

Bài gửi  nchnguyen Mon Jan 24, 2011 4:44 am

affraid
Từ Từ thuj mấy u, mới đó mà đã xong hết rùi.
Có cho người ta sống nữa ko đây Mad
nchnguyen
nchnguyen

Tổng số bài gửi : 3
Join date : 05/01/2011
Age : 32
Đến từ : An Phú

Về Đầu Trang Go down

Bài tập số 21 -40 Empty Re: Bài tập số 21 -40

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 1 trong tổng số 2 trang 1, 2  Next

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết