Так как целевой язык не указан, написал на C#.
using System;
using System.Linq;
using System.Collections.Generic;
namespace Znanium {
public abstract class AnyElementGetter {
public abstract int GetElement();
}
public class RandomElementGetter : AnyElementGetter {
readonly Random rand;
public RandomElementGetter() {
this.rand = new Random();
}
public override int GetElement(){
return rand.Next(100);
}
}
public class TypeWriterElementGetter : AnyElementGetter {
public TypeWriterElementGetter() {}
public override int GetElement(){
var number = 0;
var text_number = "";
Console.Write("Please, enter a number: ");
text_number = Console.ReadLine();
while(!Int32.TryParse(text_number, out number)){
Console.WriteLine("Incorrect data!");
Console.Write("Please, enter a number: ");
text_number = Console.ReadLine();
}
return number;
}
}
public class AnotherOne
{
public static void Main()
{
// Генерация массива
AnyElementGetter picker = new TypeWriterElementGetter();
int[] arr = (from x in Enumerable.Range(0, 5) // Отсчитываем 5 элементов
select picker.GetElement()) // Запрашиваем их ввод
.ToArray(); // Делаем из объекта массив
// Печатаем массив на экран
Console.WriteLine("Source array:");
PrintArr(arr);
// Находим максимальный элемент
int maxEl = arr.Max();
Console.WriteLine($"Max element is {maxEl}.");
}
public static void PrintArr(int[] arr) {
Console.Write("[ ");
foreach(var el in arr) {
Console.Write($"{el} ");
}
Console.WriteLine("]");
}
}
}