|
|||
Задание 5.2. Поиск и замена в одномерном массивеЗадание 5.2. Поиск и замена в одномерном массиве 10.Индивидуальное задание Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Преобразовать массив, увеличив каждую его серию на один элемент. Код программы: #include <iostream> using namespace std; int main() { setlocale(LC_ALL,"rus"); int n; cout << "N: "; cin >> n; int *a=new int[n]; int i; int s, b; cout << "Введите от\n"; cin >> s; cout << "До\n"; cin >> b; for (i = 0; i < n; ++i) { a[i]= rand() % (b - s + 1) + s; cout << "a[" << i + 1 << "] : "<<a[i]<<"\t";
} cout << "\n"; int i2; for (i = 0; i < n; ++i) { if (i + 1 < n) { if (a[i + 1] != a[i]) { ++n; for (i2 = n - 1; i2 > i; --i2) a[i2] = a[i2 - 1]; ++i; } } } ++n; a[n - 1] = a[n - 2];
for (i = 0; i < n; ++i) cout << ' ' << i + 1 << ": " << a[i] << endl;
return 0; } Контрольный пример: Задание 5.3. Алгоритмы сортировки одномерных массивов 10.Индивидуальное задание Создайте целочисленный массив, содержащий 2n различных чисел. Отсортируйте первую половину массива по возрастанию, а вторую по убыванию. Выведите на экран, отсортированный таким образом массива. Код программы: #include <iostream> #include <algorithm> using namespace std; int main() { setlocale(LC_ALL,"rus"); cout << "Введите n\t"; int n; cin >> n; n = n * 2; int a, b; cout << "Введите от\n"; cin >> a; cout << "До\n"; cin >> b; int* q = new int[n]; cout << "Массив\n"; for (int i = 0; i < n; i++) { q[i] = rand() % (b - a + 1) + a; cout << q[i] << "\t"; } sort(q, q + n); reverse(&q[n/2],&q[n]); cout << "\nОтвет\n"; for (int i = 0; i < n; i++) { cout << q[i] << "\t"; } } Контрольный пример:
|
|||
|