Помогите решить задачу для курсовой с массивами в JS
Условие задачи:
Задать с клавиатуры размер массива (в диапазоне [1; 100]):
- заполнить его числами случайным образом (в диапазоне [-50.00; 50.00])
- найти минимальный элемент массива
- найти максимальный элемент массива
- найти среднее арифметическое элементов массива.
Для многих это может показаться бредом, но я новичок и полный 0 в js и пока это то что мне удалось сделать. Разбила на разные циклы так мне проще хоть что-то понять.
//Задать с клавиатуры размер массива в диапазоне 1; 100
System.out.print("Введите размер массива: ");
int size = input.nextInt();
int[] array = new int[size];
int [] array2 = new int [2];
array2[0] = 1;
array2[1] = 100;
//Заполнить числами случайным образом в диапазоне -50,00; 50.00
double a = -50.00;
double b = 50.00;
Random random = new Random();
double floatArray = a + random.nextDouble() * (b - a);
System.out.println(" " + floatArray);
//Найти минимальный елемент массива
System.out.println("Минимальное значение массива: ");
// Найти максимальный елемент массива
int max = 100;
for (i = 0; i < array.length; i++) {
if (array[(int) i] >= max) {
max = array[(int) i];
}
System.out.println("Максимальное значение массива: ");
//Найти среднеарифметический елементов массива
double sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
double avg = sum / array.length;
System.out.println("Сренднеарифметическое елементов массива: " + avg);
}
}
Ответы (1 шт):
Автор решения: WalkMess
→ Ссылка
Решил эту задачу вот таким образом на javaScript, применив его интересные хаки и возможности. Может, как вариант тоже - подсмотреть, подойдет.
Однако хаки не для прям и новичка, преподаватель может задать вопросы по решению, нужно быть к этому готовым.
const getRandom = (min, max) => Math.floor(Math.random() * (max - min)) + min;
const getObjectData = () => {
const numbers = [];
let arrayLength = 1;
do {
arrayLength = +prompt('диапазон должен быть [1; 100]');
} while (arrayLength > 100 || arrayLength <= 0);
for (let i = 0; i < arrayLength; i++) {
if (numbers.length === 50) break;
numbers.push(getRandom(-50, 50));
}
const sum = numbers.reduce((acc, number) => acc + number);
return {
min: Math.min(...numbers),
max: Math.max(...numbers),
average: sum / numbers.length,
};
};
const { min, max, average } = getObjectData();
console.group('getObjectData');
console.log(`минимальный элемент массива ${min}`);
console.log(`максимальный элемент массива ${max}`);
console.log(`среднее арифметическое элементов массива ${average}`);
console.groupEnd();