Bài 58: Để in ngược dãy số, ta chỉ cần chạy vòng lặp giảm dần từ `n` trở về 1 là xong.
#include <bits/stdc++.h>
using namespace std;
int n,a[1000005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=n;i>=1;i--) cout<<a[i]<<" ";
}
Bài 59:
#include <bits/stdc++.h>
using namespace std;
int n,a[1000005],dem=0,tong=0;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
{
if(a[i]>a[n])
{
dem++;
tong+=a[i];
}
}
cout<<dem<<"\n";
cout<<tong;
}
Bài 58:
Một cách đơn giản để đảo ngược mảng, đó là sử dụng hàm reverse có sẵn trong thư viện algorithm.
$\\$
Code tham khảo:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n; cin >> n;
int a[n];
for (int i=0; i<n; ++i) cin >> a[i];
reverse(a, a+n);
for (int i=0; i<n; ++i) cout << a[i] << ' ';
}
$\\$
$\\$
Bài 59:
Để giải quyết vấn đề này, ta có thể sao chép toàn bộ các giá trị lớn hơn `a_n` vào một mảng mới, có thể thực hiện việc này bằng cách sử dụng hàm copy_if.
Để đếm số lượng và tính tổng, ta có thể sử dụng các hàm size và accumulate.
Mình sẽ sử dụng vector cho bài này.
$\\$
Code tham khảo:
#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>
using namespace std;
vector<int> a, b;
int n;
int main() {
cin >> n; a.resize(n);
for (int& i:a) cin >> i;
copy_if(a.begin(), a.end(), back_inserter(b), [](int val){return val > a[n-1];});
cout << b.size() << endl << accumulate(b.begin(), b.end(), 0);
}
$\\$
$\\$
$\color{#ffd710}{\texttt{\{}} \color{#8655d6}{\texttt{\{}}\ \ \color{#8cdcda}{\text{Daoanhviet96}}\ \ \color{#8655d6}{\texttt{\}}} \color{#ffd710}{\texttt{\}}}$
Tin học là môn học về cách máy tính xử lý thông tin. Nó giúp bạn hiểu cách máy tính hoạt động và cách sử dụng chúng để giải quyết các vấn đề. Hãy sử dụng tin học để sáng tạo và đổi mới!
Lớp 7 - Đã quen với môi trường mới, học hành vẫn là nhiệm vụ chính. Hãy kiên trì và không ngừng cố gắng để vượt qua mọi thử thách!
Copyright © 2024 Hoc Sinh 247