|
Программирование >> Структурное программирование
cout << Мода - наиболее часто встречающееся значение. << endl V* J << Для данного расчета мода равна mode Value -. << , это число встречается << largest << раз. sjrf *;* endl; . . void bubbleSort(int a[ ], int size) 1 { int hold; for (int pass = 1; pass < size; pass++) for (int j = 0; j < size - 1; j++) if (a[j] > a[j+l]) ( hold = a[j]; a[j] = a[j+l]; a[j+l] = hold; иШ } тШ void printArray(const int a[ ], int size) 1 ( for (int j = 0; j < size; j++) { if (j % 20 == 0) cout << endl; cout << setw(2) a[j]; Рис. 4.17. Программа анализа данных обследования (чааь 3 из 3) 4.8. Поиск в массивах: линейный поиск и двоичный поиск Часто программисту приходится работать с большими объемами данных, хранящимися в виде массивов. Может оказаться необходимым определить, содержит ли массив значение, которое соответствует определенному ключевому значению. Процесс нахождения какого-то элемента массива называют поиском. В этом разделе мы обсудим два способа поиска - простой линейный поиск и более эффективный двоичный поиск - дихотомию. Упражнения 4.33 и 4.34 содержат задачи реализации рекурсивных вариантов линейного поиска и двоичного поиска. for (int h = 1; h <= freq[rating]; h++) cout << *; cout << endl; ********* Среднее ********* Среднее является средним значением элементов данных. Среднее значение равно сумме данных, деленной на количество элементов (99). Среднее значение для данного расчета равно: 681 / 99 = 6.8788 ********* Медиана ********** Несортированный массив ответов
*jl Медиана - это элемент 49 из массива 99 сортированных элементов. Для данного расчета медиана равна 7 ******** Мода ******** Ответ Частота Гистограмма 2 3 4 5 6 7 8 9 1 3 4 5 8 9 23 27 19 **** ***** ******** ********* *********************** *************************** ******************* Мода - наиболее часто встречающееся значение. Для данного расчета мода равна 8, это число встречается 27 раз. Рис. 4.18. Пример выполнения программы анализа данных обследования Линейный поиск в массиве #include <iostream.h> .4i: int linearSearch(int [], int, int); mainO % ( const int arraySize = 100; int a[arraySize], searchKey, element; for (int X = 0; X < arraySize; x++) создание некоторых данных a[x] = 2 * x; cout << Введите ключ поиска - целое число: << endl; ...f.j! cin >> searchKey; element = linearSearch(a, searchKey, arraySize); if (element != -1) cout << Найдено значение в элементе << element << endl; \ else *v cout << Значение не найдено << endl; return 0; ЩШ } .\t linearSearch(int array[], int key, int sizeOfArray) 1 ( for (int n = 0; n < sizeOfArray; n++) if (array[n] == key) return n; ffr J return -1; -S ....................... Введите ключ поиска - целое число: 36 Найдено значение в элементе 18 Введите ключ поиска - целое число: 1 37 W ... Значение не нёи<дено Рис. 4.19. Линейный поиск в массиве Линейный поиск (рис. 4.19) сравнивает каждый элемент массива с ключом поиска. Поскольку массив не упорядочен, вполне вероятно, что отыскиваемое значение окажется первым же элементом массива. Но в среднем, однако, программа должна сравнить с ключей поиска половину элементов массива.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |