Дано натуральное число n, действительные числа y1, y2, …yn. Найти: Max(|z1|, |z2|, …, |zn|)

Математический пример с уклоном на использование циклов

Я смог написать саму программу, но не совсем понял как сравнить полученные данные в модуле, объясните пожалуйста как найти Max(|z1|, |z2|, |...|, |zn|).

#include <iostream>
#include <math.h>
#include <string>
#include <string.h>
#include <conio.h>
# include <minmax.h>
using namespace std;


int main()
{
    setlocale(LC_ALL, "English");
    int size = 0, z, y;
    cout << "Enter size of massive: "; cin >> size;
    cout << endl;
    int *numbers = new int[size];
    for (int i = 1; i <= size; i++) 
    {
        cout << "Enter y: "; cin >> numbers[i];
    }
    cout << "Your massive = {";
    for (int i = 1; i <= size; i++) {
        cout << numbers[i] << ", ";
    }

    int* array = new int[size];
    int* q = &array[size];
    cout << "}" << endl;

    for (int i = 1; i <= size; i++) 
    {
        if (fabs(numbers[i]) <= 2)
            z = numbers[i];
        else
            z = 0.5;
    }
    for (int i = 0; i <= size; i++) {
        cout << array[i];
    }


    
    system("pause");
    return(0);
}

Ответы (1 шт):

Автор решения: MBo

добавьте в цикл нахождение максимума. z в принципе не нужно, но оставил для ясности.

И числа по условия не целые.

И с индексацией массива есть проблемы.

float *numbers = new float[size];

for (int i = 0; i < size; i++)

float maxx = -1.0;
for (int i = 1; i <= size; i++) 
{
    if (fabs(numbers[i]) <= 2)
        z = fabs(numbers[i]);
    else
        z = 0.5;
    if (maxx < z)
          maxx = z;
→ Ссылка