дан массив из 8 элементов найти его положительные элементы и вывести их позиции. найти произведения отрицательных элементов и если нет ни одного отрицательного элемента,то вывести сообщение "привет". найти максимум и минимум и поменять их местами ( использовать буфер обмена)
Answers & Comments
#include <iostream>
#include <array>
#include <list>
std::list <int> Max(std::array <int, 8> arr) {
int size = 8;
int zero = 0;
std::list <int> list;
int count = 0;
int countMin = 0;
int MaxVal = arr[0];
int MinVal = 0;
unsigned int MaxPoz;
unsigned int MinPoz;
for (int i = 0; i < size; i++) {
if (arr[i] > 0) {
count++;
list.push_back(i);
}
else if(arr[i] < 0){
countMin++;
}
if (arr[i] < MinVal) {
MinVal = arr[i];
MinPoz = i;
}
else if (arr[i] > MaxVal) {
MaxVal = arr[i];
MaxPoz = i;
}
}
if (MaxPoz <= 8 & MinPoz <= 8) {
int s = arr[MaxPoz];
arr[MaxPoz] = arr[MinPoz];
arr[MinPoz] = s;
}
if (countMin == 0) {
std::cout << "Привет\n";
}
return list;
}
Эта функция на С++. Она возвращает список позиций положительных элементов и меняет местами максимальное значение с наименьшим значением