

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
\begin{array}{c} \color{#4F89FFff}{K} \color{#3F79F0ff}{a} \color{#2F69E0ff}{i} \color{#1F59D0ff}{z} \color{}{\space} \color{#0F49C0ff}{\#} \color{#0039B0ff}{k} \color{#0030A0ff}{k} \color{#2038A8ff}{k} \color{#4040B0ff}{k} \color{#6050C0ff}{k} \color{#8060D0ff}{z} \color{#9870E0ff}{z} \end{array}
Ý tưởng:
Duyệt lần lượt từng phần tử, tìm giá trị lớn nhất khi duyệt đến phần tử đó bằng cách kiểm tra nếu phần tử đó lớn hơn phần tử max hiện tại thì gán max = phần tử đang kiểm tra, đồng thời số lớn thứ 2 bằng giá trị max cũ (cần thực hiện trước khi gán lại max).
Tuy nhiên có thể 1 số bé hơn max nhưng lại lớn hơn số lớn thứ 2 nên phải thêm 1 điều kiện nữa để cập nhật trong trường hợp này.
Trong code, biến i là chỉ số của giá trị lớn nhất, j là chỉ số của giá trị lớn thứ 2.
Code:
#include <bits/stdc++.h>
using namespace std;
int a[4];
signed main() {
for (int i = 0; i < 4; i++) cin >> a[i];
int i = 0, j = 1;
if (a[j] > a[i]) swap(i, j);
for (int k = 2; k < 4; k++) {
if (a[k] > a[i]) j = i, i = k;
else if (a[k] > a[j]) j = k;
}
cout << a[j];
return 0;
}
Có đôi lời nhắn các bạn mod/admin xóa câu trả lời: Việc cách làm giống hay code gần giống như các câu trả lời trước thì do bài này dễ, thuật toán cũng dễ thì cách làm tương tự nhau thôi, có phải giống là sao chép đâu? Hơn nữa, việc dùng "signed" thay vì "int" thì căn bản theo thói quen mình code là define int long long mà hàm main k nhận KDL ll => dùng "signed" thay thế (có tác dụng tương tự int). Mặc dù trong code mình ko define vì ko cần, nhưng đó là thói quen code và ko ảnh hưởng gì. Mong các bạn mod biết suy nghĩ và đánh giá được câu trả lời, xem kĩ đề và xem thuật toán để hiểu và có suy luận đúng đắn chứ đừng có xóa câu trả lời tùy tiện như vậy. Mình không biết kháng cáo như thế nào, nhưng mình trả lời lại coi như là 1 lời kháng cáo! Nếu có thắc mắc gì mod có thể hỏi thêm, mình sẽ giải thích chi tiết. Bạn có thể vào phần các câu trả lời của mình và xem các câu trả lời trước để biết được mình có thể trả lời câu hỏi ở mức độ như thế nào, bài này là những bài quá cơ bản dành cho học sinh mới bắt đầu thôi!
Hãy giúp mọi người biết câu trả lời này thế nào?
Đáp án + Giải thích các bước giải:
Ý tưởng: Sắp xếp (sort) hết lại từ bé đến lớn rồi in ra số lớn thứ 2
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[4];
for (int i=0;i<4;i++) cin>>a[i];
sort(a,a+4);
cout<<a[2];
}
Hãy giúp mọi người biết câu trả lời này thế nào?

Bảng tin
1726
6461
2587
bài ko đáng làm thì bỏ đi a kaiz , để đó t húp cho =))
144
2772
105
ko đáng làm nma đáng có điiểm với hay nhất thì tội gì mà k làm =)))
1726
6461
2587
thế kaiz đi thi nhớ nhường em =)
144
2772
105
nhường m rồi t trật bay cao bay xa hay gì
1428
25173
482
code trước ntn mà bị xóa v
1726
6461
2587
cách làm của nó giống thng trên a
1726
6461
2587
chỉ có thêm define int long long vs signed
1726
6461
2587
mà thực ra bài này làm trùng nhau cx chả sao vì nó bị dễ để hỏi á