Хелпикс

Главная

Контакты

Случайная статья





Задание 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";

}

}

Контрольный пример:



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.