Int GetRandom(int Min, int Max)
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

{

double res=(double)rand()/(RAND_MAX+1) * (Max-Min) +Min;

return (int)res;

}

 

Для того чтобы эта функция при каждом новом запуске генерировала новые псевдослучайные числа, необходимо один раз в главной функции инициализировать датчик псевдослучайных чисел, например, так:

srand((unsigned)time(NULL));

 

И вопрос на засыпку по этой функции: зачем сначала используется приведение к типу double, а потом к типу int? А ежели эти приведения типов убрать, шо буде?

 

Шаг 3. И уже самостоятельная работа!

Во всех вариантах заданий предполагается неукоснительное соблюдение следующих требований:

1. Программа должна быть написана таким чудодейственным образом, чтобы можно было в течение одного ее запуска выполнить произвольное число расчетов при новых данных. Попросту говоря, необходимо добавить самый внешний бесконечный цикл, выход из которого должен осуществляться по вежливому запросу.

2. Число элементов массива (ов) программа должна запрашивать у пользователя и контролировать корректность его ввода.

3. Значения элементов массивов должны генерироваться как псевдослучайные числа из диапазона, оговоренного в задании.

4. Исходные и обработанные массивы должны выводиться в самом что ни на есть красивом виде и при этом удобном для контроля корректности выполнения программы. Для вещественных данных число значащих цифр дробной части ограничить 2-3.

5. При разработке программы на полную катушку использовать собственные функции, каждая из оных должна реализовать четко очерченную последовательность действий, как-то: генерация псевдослучайного диапазона из заданного диапазона, генерация значений элементов массива, вывод массива на экран и т.д. и.т.п.

6. Все функции должны получать все необходимые им исходные данные и возвращать результаты посредством параметров (или имени функции). Вы должны показать свое умение грамотно использовать параметры разных видов: параметры-значения, параметры-ссылки, константные параметры и т.д.

7. Магические числа, т.е. непосредственно заданные числовые константы, следует именовать и далее использовать только именованные константы. Например, вместо int Vec[100]; следует писать const int NMax=100; int Vec[ NMax]. Вместе с тем, не стоит и скатываться до идиотизма, например, вводить константы для цифр 0 или 1, широко используемых в любой программулине.

 

Алгоритмы сортировок и другие ценные сведения можно найти в Приложениях (см. оглавление), Интернете и в др. местах.

 

 

№ вар. Задание Тип элементов массива (ов) Диапазон значений элементов массива
1. Сортировка массива включением float -1e-3 .. +1е+3
2. Сортировка массива с помощью прямого обмена (пузырьковый метод) double -100 .. 50
3. Инвертирование массива, т.е. перестановка его элементов в обратном порядке int 100 ..120
4. Сортировка Шелла float -0.1 .. 0.2
5. Сортировка массива с помощью прямого выбора double -1e-3 .. +1е+3
6. Вставка нового массива в заданную позицию существующего массива int -200 .. 0
7. Удаление части массива float -1e-3 .. +1е+3
8. Вставка одного массива в другой double -100 .. 50
9. Поиск заданного подмассива в массиве int 100 ..120
10. Подсчет числа вхождений подмассива в массив int 10 .. 20
11. Поиск в массиве повторяющихся значений и перенос их в другой (новый) массив int 100 .. 120
12. Исключить из заданного массива одинаковые элементы (сжать массив) int -10 .. -15
13. Отсортировать значения элементов двумерного массива (матрицы) в порядке возрастания. Например, если исходный массив выглядит так: 3 6 1 0 12 -6 7 3 то отсортированный должен иметь следующий пристойный вид: 12 7 6 3 3 1 0 -6 double -10 .. 20
14. Ввести массив из N чисел и найти максимальное значение среди элементов, значения которых в массиве встречаются более одного раза. Например, в массиве 2,3,4,5,5,4,3,10 таким максимальным значением является 5 int 10 .. 15

 



Дата: 2019-07-30, просмотров: 215.