Lỗi về số 6422008

em vừa làm bài tìm số lớn thứ hai nhưng làm kiểu gì nó cũng in ra số 6422008 .mà em chạy chương trinhg khác thấy vẫn ok mong mọi người giải đáp

#include <iostream>

using namespace std;

int main()
{
    int n;
    cout<<"so so can kiem tra la";
    cin>>n;
 int a[100];
 int solonnhat=a[0];
int solonthuhai=a[0];
for(int i=0;i<n;i++)
{
    cin>>a[i];
}
for(int i=0;i<n;i++)
{
    if(a[i]> solonnhat){
        solonnhat=a[i];}
}
for(int i=0;i<n;i++)
{
    if(a[i]>solonthuhai && a[i]<solonnhat){
        solonthuhai=a[i];}
}
cout<<solonthuhai;
   return 0;
}

thử sửa code của bạn, sửa chỗ in kết quả thành ket qua: 33 (tất nhiên là chỗ 33 đó là giá trị thực tế)

1 Like

Bạn biết a[0] bằng mấy không? Trước khi nhập giá trị cho mảng a ấy.

1 Like

Hình như là chưa có giá trị ấy ạ

Em vẫn chưa hiểu lắm

thông thường, khi muốn biết lý do vì sao, phải thử nhiều cách
một trong những cách phổ biến là thêm vào code những dòng lệnh để ghi ra quá trình code thực hiện có đúng với ý muốn của mình hay không (nếu biếu debug thì khỏi phải nói rồi)
mà như bạn gcd đã hỏi, a[0] là bao nhiêu? đó là mấu chốt vấn đề

3 Likes

Thế mà bạn dám gán a[0] cho 2 biến kia? Trước khi nó có giá trị thực sự.

3 Likes

em làm được rồi ạ em cảm ơn

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?