Дано натуральное число 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;
