Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Массив целых чисел («Вектор»)Набор функций для работы с массивом целых чисел: 1. Ввод значений элементов массива. #define N 25 void Enter_Array (int Array[], int &size) { while(1) { printf ("Введи размер массива (2 - %d): ", N); scanf ("%d", &size); if ((size >1) && (size <= N)) break; else printf("Неверный ввод!\n"); } printf ("Введи элементы массива: \n"); for (int i = 0; i < size; i ++) scanf ("%d", &Array [i]); } 2. Вывод значений элементов массива. void Output_Array (int Array[], int size) { printf ("\n Массив – результат: \n "); for (int i = 0; i < size; i ++) printf ("%d ", Array [i]); } 3. Определить среднее значение элементов массива. float Medium (int Array[], int size) { for (int i = 0, Sum = 0; i < size; i++) Sum += Array[i]; return ((float) Sum / size); } 4. Определить индексы минимального и максимального элементов массива. void Mini_Max (int Array[], int size, int &min, int &max) { min = max = 0; for (int i = 1; i < size; i++) { if (Array [i] < Array [min]) min = i; if (Array [i] > Array [max]) max = i; } } 5. Удалить из массива нулевые элементы. void Delete_Zeros (int Array[], int &size) { int i = 0, j; while (i < size) if (Array[i] == 0) { for (j = i; j < size - 1; j ++) Array [j] = Array [j + 1]; size --; } else i++; } 6. Продублировать каждое вхождение заданного числа. void Duplicate (int Array[], int &size, int Number) { int i = 0, j; while (i < size) if (Array[i] == Number) { if ((size + 1) > N) { puts ("Массив заполнен!"); return; } size++; for (j = size - 1; j > i; j --) Array[j] = Array[j - 1]; i += 2; } else i++; } 7. Определить количество различных элементов в массиве int Counter_Different (int Array[], int size) { int i=0, j, count = size; for (i = 0; i < size; i ++) for (j = i - 1; j >= 0; j --) if (Array[i] == Array[j]) { count --; break; } return count; } 8. Упорядочить элементы массива по возрастанию методом «пузырька». void Sort_Bubble (int A[], int size) { int i, j, temp; for (i = size - 1; i > 0; i --) for( j = 0; j < i; j ++) if (A[j] > A[j+1]) { temp = A[j]; A[j] = A[j+1]; A[j+1] = temp; } } 9. Определить индекс элемента в упорядоченном массиве, значение которого совпадает с заданным числом (бинарный поиск). int Binary_Search (int Array[], int size, int Key) { int i, left = 0, k, right = size - 1; do { i = (left + right) / 2; if (Key == Array[i]) return i; if (Key > Array[i]) left = i + 1; else right = i - 1; } while (left <= right); return - 1; }
Дата добавления: 2014-11-14; просмотров: 276; Нарушение авторских прав Мы поможем в написании ваших работ! |