C/C++

Программирование на C++

Кто хорошо разбирается в массивах помогите пожалуйста. Тут задачи по этой теме ориентированы на применение массивов. Запрещается использование любых других структур для хранения последовательностей данных, а также библиотечных функций (за исключением abs и swap).
1)
 #include  
using namespace std;
int main() {
size_t n;
cin >> n;
auto box = new int[n];
for (size_t i = 0; i < n; ++i) cin >> box[i];
size_t max = 0;
size_t min = 0;
for (size_t i = 1; i < n; ++i) {
if (box[i] < box[min]) min = i;
if (box[i] > box[max]) max = i;
}
swap(box[min], box[max]);
for (size_t i = 0; i < n; ++i) cout
Станислав Ивашкевич
Станислав Ивашкевич
67 286
Лучший ответ
Юрий Неганов не могли бы подкорректировать код пожалуйста?
https://otvet.mail.ru/question/231726637
Действительно, очень интересно...
VF
Viktor Feiger
7 161
Советую сделать каждую задачу отдельным вопросом, т. к. мало людей хотят сидеть пол часа писать все задачи чтобы получить максимум 5 баллов.
1)

#include <cmath>
#include <iostream>
using namespace std;
int main() {
const size_t n = 11;
double box[n];
double a, b;
cin >> a >> b;
auto dx = fabs(a - b) / (n - 1);
auto x = a;
box[0] = x;
for (size_t i = 1; i < n; ++i) {
x += a < b ? dx : -dx;
if (fabs(x) < 1e-14) x = 0;
box[i] = x;
}
for (auto x : box) cout << x << ' ';
puts("");
}
2)

#include <iostream>
using namespace std;
int main() {
const size_t n = 10000;
double box[n];
size_t m;
cin >> m;
for (size_t i = 0; i < m; ++i) cin >> box[i];
auto odd = 0.0;
auto even = 0.0;
for (size_t i = 0; i < m; ++i) {
(i & 1 ? odd : even) += box[i];
}
cout << even << ' ' << odd <<'\n';
puts("");
}
3)

#include <cmath>
#include <iostream>
using namespace std;
int main() {
const size_t n = 10000;
double x[n];
double y[n];
size_t m;
cin >> m;
for (size_t i = 0; i < m; ++i) cin >> x[i];
for (size_t i = 0; i < m; ++i) cin >> y[i];
auto s = 0.0;
for (size_t i = 0; i < m; ++i) s += x[i] * y[i];
auto sum = s / m;
cout << sum << '\n';
puts("");
}
4)

#include <cmath>
#include <iostream>
using namespace std;
int main() {
const size_t n = 10000;
double box[n];
double y[n];
size_t m;
cin >> m;
for (size_t i = 0; i < m; ++i) cin >> box[i];
for (size_t i = 0, j = 1; j < m; i += 2, j += 2) {
if (box[i] * box[j] < 0) swap(box[i], box[j]);
}
for (size_t i = 0; i < m; ++i) cout << box[i] << ' ';
puts("");
}
5)

#include <cmath>
#include <iostream>
using namespace std;
int main() {
const size_t n = 10000;
double box[n];
double y[n];
size_t m;
cin >> m;
for (size_t i = 0; i < m; ++i) cin >> box[i];
auto last = box[m - 1];
for (size_t i = m - 1, j = m - 2; i != 0; --i, --j) {
box[i] = box[j];
}
box[0] = last;
for (size_t i = 0; i < m; ++i) cout << box[i] << ' ';
puts("");
}