01/10/2018, 08:21
Tìm số lớn nhì trong mảng 1 chiều
như tiêu đề bài như thế. Ý tưởng của e là như thế này cá bác thấy đúng không. Cho 1 cái mảng em sắp xếp nó lại theo tăng dần rồi em in ra cái phần tử thứ n-2 là phần tử nhỏ thứ 2. Code em viết bằng c# nên các bác cho em ý kiến với. Hay có cách nào khác
int n = int.Parse(Console.ReadLine());
int[] a = new int[100];
for (int i = 0; i < n; i++)
{
a[i] = int.Parse(Console.ReadLine());
}
int temp;
Console.WriteLine("mang tang dan la: ");
for (int i = 0; i < n -1; i++)
{
for (int j = i+1; j < n; j++)
{
if(a[j]<a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (int i = 0; i < n; i++)
{
Console.WriteLine(a[i]);
}
Console.WriteLine("so lon 2: ");
Console.WriteLine(a[n-2]);
Console.ReadLine();
Bài liên quan
Hi chương.
Nếu bạn dùng C# và vẫn nhất quyết xắp xếp trước thì nên tìm hiểu hàm Sort trong C# trước.
Còn nếu không thì vừa tìm lớn nhất và lớn thứ 2 luôn trong 1 vòng for.
thế tìm trong 1 vòng for thì sao hở bác
Hi chương.
Bạn tìm số lớn nhất như thế nào ?
cho 1 biến max bằng a[0] rồi duyệt mảng max < a[i] thì cái max nó bằng a[i] bác
Hi chương.
Khi max < a[i] thì không phải max là số lớn thứ 2 trong dãy a[0] -> a[i] à ?
Hi chương.
Test thử thì biết.
1 Mảng có ít hơn 2 phần tử.
2 Khởi tạo giá trị các biến.
3 Tách các hàm con như nào.
4 Code format nữa. @_@!
ý em là chỉ tính với cái mảng nhiều phần tử trước còn tối ưu mình sẽ tối ưu sau bác
Hi chương.
Viết đến cùng đi dừng lại giữa đường đâu có kết quả gì @_@!
vấn đề là nó vẫn chưa ra kết quả này bác
Đã dùng C# thì nên tận dụng các hàm có sẵn, bạn viết ra có thể nó nhanh hơn được 1-2% nhưng mà nó lỗi cũng vui đấy :v
Đây là hàm trả về số lớn thứ nhì của một mảng số thực Input[]
thank các bác em làm ra rồi. Không cần sử dụng hàm có sẵn