Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

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

Len4ik Ученик (127), закрыт 8 месяцев назад
Кто хорошо разбирается в массивах помогите пожалуйста. Тут задачи по этой теме ориентированы на применение массивов. Запрещается использование любых других структур для хранения последовательностей данных, а также библиотечных функций (за исключением abs и swap).
Лучший ответ
Николай Веселуха Высший разум (340475) 9 месяцев назад
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 << box[i] << ' ';
delete[] box;
}
warfacer top[osfЗнаток (303) 9 месяцев назад
не могли бы подкорректировать код пожалуйста?
https://otvet.mail.ru/question/231726637
Николай Веселуха Высший разум (340475) warfacer top[osf, не знаю, я в отведённые 3800 символов не вложусь. Потребуется гораздо больше. Задавайте вопросы частями. Может так вы поймёте чего от вас хотят.
Остальные ответы
Aleksandr Мыслитель (7161) 9 месяцев назад
Действительно, очень интересно...
qwerty Профи (540) 9 месяцев назад
Советую сделать каждую задачу отдельным вопросом, т. к. мало людей хотят сидеть пол часа писать все задачи чтобы получить максимум 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("");
}
Похожие вопросы