Задан одномерный массив целых чисел, вычислить сумму тех элементов, которые больше (min+max)/2
запрещено использовать
print
scan
и прочее, что в духе чистого си
нужен только с++
C/C++
Задан одномерный массив целых чисел создать код на C++
План действий:
1. формируем массив
2. находим мин
3. находим макс
4. вычисляем
5. перебираем массив на предмет соответствия
6. выводим результат
1. формируем массив
2. находим мин
3. находим макс
4. вычисляем
5. перебираем массив на предмет соответствия
6. выводим результат
#include <algorithm>
#include <iostream>
#include <array>
#include <iterator>
#include <random>
#include <numeric>
using namespace std;
int main() {
uniform_int_distribution<> uid(1, 9);
mt19937 gen{ random_device()() };
const auto rand = [&](int& x) {x = uid(gen); };
array<int, 15U> box{};
for_each(box.begin(), box.end(), rand);
copy(box.begin(), box.end(), ostream_iterator<int>(cout, " "));
puts("");
const auto [pmin, pmax] = minmax_element(box.begin(), box.end());
const auto avg = (*pmin + *pmax) / 2.0;
cout << "Average: " << avg << '\n';
const auto cmp = [avg](int acc, int val) { return acc += val > avg? val : 0; };
const auto sum = accumulate(box.begin(), box.end(), 0, cmp);
cout << "Sum: " << sum << '\n';
system("pause > nul");
}
#include <iostream>
#include <array>
#include <iterator>
#include <random>
#include <numeric>
using namespace std;
int main() {
uniform_int_distribution<> uid(1, 9);
mt19937 gen{ random_device()() };
const auto rand = [&](int& x) {x = uid(gen); };
array<int, 15U> box{};
for_each(box.begin(), box.end(), rand);
copy(box.begin(), box.end(), ostream_iterator<int>(cout, " "));
puts("");
const auto [pmin, pmax] = minmax_element(box.begin(), box.end());
const auto avg = (*pmin + *pmax) / 2.0;
cout << "Average: " << avg << '\n';
const auto cmp = [avg](int acc, int val) { return acc += val > avg? val : 0; };
const auto sum = accumulate(box.begin(), box.end(), 0, cmp);
cout << "Sum: " << sum << '\n';
system("pause > nul");
}
С помощью stdio.h и ifstream,ofstream твоя программа будет летать!!!! Только не забудь создать input.txt и output.txt файлы.
#include stdio.h
#include vector
#include fstream
using namespace std;
int main()
{
ifstream cin("input.txt");
ofstream cout("output.txt");
int size, sum = 0;
cin >> size;
vector v(size);
for (int i = 0; i < size; i++)
cin >> v[i];
int min = v[0];
int max = v[0];
for (int i = 0; i < size; i++)
{
if (min > v[i])
{
min = v[i];
}
if (max < v[i])
{
max = v[i];
}
}
for (int i = 0; i < size; i++)
{
if (v[i] > (min + max) / 2)
{
sum = sum + v[i];
}
}
cout << sum;
return 0;
}
#include stdio.h
#include vector
#include fstream
using namespace std;
int main()
{
ifstream cin("input.txt");
ofstream cout("output.txt");
int size, sum = 0;
cin >> size;
vector v(size);
for (int i = 0; i < size; i++)
cin >> v[i];
int min = v[0];
int max = v[0];
for (int i = 0; i < size; i++)
{
if (min > v[i])
{
min = v[i];
}
if (max < v[i])
{
max = v[i];
}
}
for (int i = 0; i < size; i++)
{
if (v[i] > (min + max) / 2)
{
sum = sum + v[i];
}
}
cout << sum;
return 0;
}
Жанболат *_*жамбо*_*....)
#include
#include
#include
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
void foo()
{
int size, sum = 0;
cin >> size;
vector v(size);
for (int i = 0; i < size; i++)
cin >> v[i];
int min = v[0];
int max = v[0];
for (int i = 0; i < size; i++)
{
if (min > v[i])
{
min = v[i];
}
if (max < v[i])
{
max = v[i];
}
}
for (int i = 0; i < size; i++)
{
if (v[i] > (min + max) / 2)
{
sum = sum + v[i];
}
}
cout << sum;
}
int main()
{
foo();
return 0;
}
чтобы это не мешалось в главной функции main, можно создать функцию
#include
#include
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
void foo()
{
int size, sum = 0;
cin >> size;
vector v(size);
for (int i = 0; i < size; i++)
cin >> v[i];
int min = v[0];
int max = v[0];
for (int i = 0; i < size; i++)
{
if (min > v[i])
{
min = v[i];
}
if (max < v[i])
{
max = v[i];
}
}
for (int i = 0; i < size; i++)
{
if (v[i] > (min + max) / 2)
{
sum = sum + v[i];
}
}
cout << sum;
}
int main()
{
foo();
return 0;
}
чтобы это не мешалось в главной функции main, можно создать функцию
Жанболат *_*жамбо*_*....)
ладно, ладно, держи!
План действий:
1. формируем массив
2. находим мин
3. находим макс
4. вычисляем
5. перебираем массив на предмет соответствия
6. выводим результат
План действий:
1. формируем массив
2. находим мин
3. находим макс
4. вычисляем
5. перебираем массив на предмет соответствия
6. выводим результат


Александр Панков
должно работать
Александр Лаубган
ну тут я сразу выдвину несколько вопросов
1 где ввод и где вывод (я их не вижу
2 тут как я понял массив до 10 а у меня задача стоит на массив который я сам укажу
3) ну это уже скорее просьба
это объяснить каждую строку
ну и по братски скинь сам код, а то скрин долго переписывать)
1 где ввод и где вывод (я их не вижу
2 тут как я понял массив до 10 а у меня задача стоит на массив который я сам укажу
3) ну это уже скорее просьба
это объяснить каждую строку
ну и по братски скинь сам код, а то скрин долго переписывать)
Похожие вопросы
- Рекурс.функцию, которая принимает 2х-мерный массив целых чисел и кол-во сдвигов и выполняет круговой сдвиг массива влево
- Написать РЕКУРСИВНУЮ функцию, которая принимает двухмерный массив целых чисел и выполняет круговой сдвиг массива ВЛЕВО.
- Напишите рекурсивную функцию, которая принимает двухмерный массив целых чисел и количество сдвигов и выполняет
- Создать одномерный массив, состоящий из n вещественных элементов. Элементы массива определить при помощи случайных чисел
- C++ одномерный массив
- Для всех задач сформировать одномерный массив N случайных чисел из интервала (-10; 10).
- Одномерный массив в C++
- Одномерный массив нужна программа срочно)
- Найти произведение элементов массива а, состоящего из 25 целых чисел, кратных 2 на Паскаль
- Помогите пожалуйста написать программу небольшую в C++. Одномерный массив
using namespace std;
int main()
{
setlocale(0, "rus");
int n;
cout << "Размер массива: ";
cin >> n;
if (n < 1) return 1;
int* a = new int[n];
cout << "Введите элементы массива:" << endl;
for (int i = 0; i < n; ++i) cin >> a[i];
int minimal = a[0], maximal = minimal;
for (int i = 1; i < n; ++i)
{
if (a[i] > maximal) maximal = a[i];
if (a[i] < minimal) minimal = a[i];
}
long sum = 0ll;
for (int i = 0; i < n; ++i)
{
sum += a[i] > (maximal + minimal) / 2. ? a[i] : 0;
}
cout << "Сумма требуемых элементов: " << sum << endl;
return 0;
}
а то я мало что из этого понимаю