Предмет: Информатика, автор: boobekovaakylaj

дан массив из 8 элементов найти его положительные элементы и вывести их позиции. найти произведения отрицательных элементов и если нет ни одного отрицательного элемента,то вывести сообщение "привет". найти максимум и минимум и поменять их местами ( использовать буфер обмена)​

Ответы

Автор ответа: Sulik200000
1

#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;

}

Эта функция на С++. Она возвращает список позиций положительных элементов и меняет местами максимальное значение с наименьшим значением

Похожие вопросы