Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_Практ_new1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
225.79 Кб
Скачать

Вычисление характеристик массива

Пример 1

Дан целочисленный массив размера N. Вывести номера максимальных элементов.

Вариант программы на языке С

#include <iostream>

#include <locale>

#include <cstdlib>

#include <ctime>

using namespace std;

/*Дан целочисленный массив размера N. Вывести номера максимальных элементов.

*/

int main()

{

int n;

int *a;

setlocale(LC_ALL, "");

srand(time(0));

cout << "Введите n: ";

cin >> n;

// Выделяем память для массива.

a = new int[n];

for(int i = 0; i < n; i++)

a[i] = rand() % 20;

cout << "Массив :";

for(int i = 0; i < n; i++)

cout << " " << a[i];

cout << endl;

// Находим наибольшее число.

int max = 0;

for(int i = 1; i < n; i++)

if(max < a[i])

max = a[i];

cout << "Наибольшее число: " << max << endl;

// Выводим индексы.

cout << "Индексы: ";

for(int i = 0; i < n; i++)

if(a[i] == max)

cout << " " << i;

cout << endl;

// Освобождаем память.

delete[] a;

return 0;

}

Пример 2

Дан целочисленный массив размера N. Определить, сколько в нем разных чисел.

Вариант программы на языке С++

#include <iostream>

#include <locale>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

int n; int *a;

setlocale(LC_ALL, "");

srand(time(0));

cout << "Введите n: ";

cin >> n;

// Выделяем память для массива.

a = new int[n];

for(int i = 0; i < n; i++)

a[i] = rand() % 10;

cout << "Массив :";

for(int i = 0; i < n; i++)

cout << " " << a[i];

cout << endl;

// Сначала сортируем массив.

for(int i = 0; i < n - 1; i++)

{

// Находим минимальный элемент, начиная с i-го.

int imin = i;

for(int j = i + 1; j < n; j++)

if(a[imin] > a[j])

imin = j;

// Меняем его с i-м.

int t = a[i];

a[i] = a[imin];

a[imin] = t;

}

// Затем находим количество разных чисел.

int count = 1;

for(int i = 0; i < n - 1; i++)

if(a[i] != a[i + 1])

count++;

cout << "Количество разных чисел в массиве: " << count << endl;

// Освобождаем память.

delete[] a;

return 0;

}

Задания для самостоятельного решения

  1. Дан массив размера N. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найденные номера выводить в порядке их убывания.

  2. Дан массив A ненулевых целых чисел размера N. Вывести значение первого из тех его элементов AK, которые удовлетворяют неравенству A1 < AN Если таких элементов нет, то вывести 0.

  3. Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами.

  4. Дан массив размера N. Найти количество участков, на которых его элементы монотонно убывают.

  5. Дан целочисленный массив размера N, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию. Если образуют, то вывести разность прогрессии, если нет – вывести 0.

  6. Дан массив размера N и целые числа K и L (1 < K <=L <= N). Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно

  7. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.

  8. Дано число R и массив A размера N. Найти элемент массива, который наиболее близок к числу R (то есть такой элемент AK, для которого величина |AK – R| является минимальной).

  9. Дан целочисленный массив, элементы в котором могут повторяться. Выяснить, сколько чисел входит в заданный массив по одному разу.

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