Замечание. В самом начале главного файла текст задания
Вариант A1
В массиве все четные элементы увеличить в 2 раза.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться массив 1 3 8 5 12.
Вариант A2
В массиве все нечетные элементы увеличить на 10.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться массив 1 13 4 15 6.
Вариант A3
В массиве все элементы, правее которых стоит нечетное значение, заменить на 0.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться массив 0 3 0 5 6.
Вариант A4
В массиве все элементы, правее которых стоит четный элемент, уменьшить на 2.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться массив 1 1 4 3 6.
Вариант A5
В массиве все четные элементы, стоящие между нечетными, уменьшить в 2 раза.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться массив 1 3 2 5 6.
Вариант A6
В массиве все элементы, стоящие после минимального, уменьшить на 10.
Пример: из массива A[5]: 3 2 1 5 6 должен получиться массив 3 2 1 -5 –4.
Вариант A7
В массиве все элементы, стоящие перед максимальным, увеличить в 3 раза.
Пример: из массива A[5]: 3 2 1 5 4 должен получиться массив 9 6 3 5 4.
Вариант A8
В массиве все элементы, стоящие после максимального, уменьшить на 1.
Пример: из массива A[5]: 3 2 1 5 4 должен получиться массив 3 2 1 5 3.
Вариант A9
В массиве все нечетные элементы, стоящие после максимального, увеличить в 10 раз.
Пример: из массива A[5]: 3 7 1 5 4 должен получиться массив 3 7 10 50 40.
Вариант A10
В массиве все четные элементы, стоящие левее минимального, уменьшить в 2 раза.
Пример: из массива A[5]: 3 2 1 0 4 должен получиться массив 3 1 1 0 4.
Вариант A11
В массиве A каждый элемент, кроме первого, заменить суммой всех предыдущих элементов.
Пример: из массива A[5]: 3 2 1 0 4 должен получиться массив 3 5 6 6 10.
Вариант A12
В массиве A каждый элемент, кроме последнего, заменить суммой всех следующих элементов.
Пример: из массива A[5]: 3 2 1 0 4 должен получиться массив 10 7 5 4 4.
Вариант A13
В массиве A каждый элемент, кроме первого и последнего, заменить суммой соседних элементов.
Пример: из массива A[5]: 3 2 1 0 4 должен получиться массив 3 4 2 5 4.
Вариант A14
В массиве A найти сумму элементов, расположенных между минимальным и максимальным элементами массива.
Пример: для массива A[5]: 3 1 2 4 5 сумма получается равной 6.
Вариант A15
В массиве A найти сумму всех элементов, за исключением тех, которые расположены между минимальным и максимальным элементами массива.
Пример: для массива A[5]: 3 1 2 4 5 сумма получается равной 9.
Вариант A16
В массиве A заменить значение всех элементов (кроме первого и последнего) на среднее арифметическое этого элемента и двух его соседей.
Пример: из массива A[5]: 3 9 0 6 3 должен получиться массив 3 4 5 3 3.
Вариант A17
В массиве определить количество инверсий. Инверсия – пара элементов, в которой большее число находится слева от меньшего A[I]>A[I+1].
Пример: для массива A[5]: 3 9 0 6 3 количество инверсий равно 2.
Вариант A18
Вычислить сумму тех элементов, значение которых совпадает с их индексом.
Пример: для массива A[5]: 1 9 3 4 6 сумма элементов равна 8.
Вариант A19
Вычислить сумму тех элементов, значение которых меньше значения их индекса.
Пример: для массива A[5]: 2 1 3 7 4 сумма элементов равна 5.
Вариант A20
Вычислить сумму тех элементов, значение которых больше значения их индекса.
Пример: для массива A[5]: 2 1 3 7 4 сумма элементов равна 9.
Задачи средние
Вариант B1
Из массива удалить первый из четных элементов.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться
массив A[4]: 1 3 5 6.
Вариант B2
Из массива удалить последний из четных элементов.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться
массив A[4]: 1 3 4 5.
Вариант B3
Из массива удалить последний из нечетных элементов.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться
массив A[4]: 1 3 4 6.
Вариант B4
Из массива удалить первый из нечетных элементов.
Пример: из массива A[5]: 1 3 4 5 6 должен получиться
массив A[4]: 3 4 5 6.
Вариант B5
После максимального из четных элементов вставить 0.
Пример: из массива A[5]: 1 9 8 3 5 должен получиться
массив A[6]: 1 9 8 0 3 5.
Вариант B6
После первого четного элемента вставить 0.
Пример: из массива A[5]: 1 6 8 3 4 должен получиться
массив A[6]: 1 6 0 8 3 4.
Вариант B7
После последнего нечетного элемента вставить 0.
Пример: из массива A[5]: 1 3 8 3 5 должен получиться
массив A[6]: 1 3 8 3 5 0.
Вариант B8
Удалить максимальный из четных элементов.
Пример: из массива A[5]: 2 3 4 7 5 должен получиться
массив A[4]: 2 3 7 5.
Вариант B9
Удалить максимальный из кратных трем элементов.
Пример: из массива A[5]: 2 3 4 7 5 должен получиться
массив A[4]: 2 4 7 5.
Вариант B10
После последнего кратного четырем элемента вставить 0.
Пример: из массива A[5]: 1 3 8 3 4 должен получиться
массив A[6]: 1 3 8 3 4 0.
Вариант B11
Из массива удалить четные элементы, стоящие после максимального.
Пример: из массива A[5]: 2 7 4 6 5 должен получиться
массив A[3]: 2 7 5.
Вариант B12
Из массива удалить четные элементы, имеющие значение больше среднего арифметического всех элементов массива.
Пример: из массива A[5]: 8 7 2 6 5 должен получиться
массив A[3]: 7 2 5 (среднее арифметическое всех элементов =(8+7+2+6+5)/5=5.6).
Вариант B13
Из массива удалить элементы, имеющие значение меньше
среднего арифметического четных элементов массива.
Пример: из массива A[5]: 8 7 2 6 5 должен получиться
массив A[3]: 8 7 6 (среднее арифметическое четных элементов =(8+2+6)/3=5.33).
Вариант B14
Из массива удалить элементы, стоящие после максимального и имеющие значение меньше среднего арифметического всех элементов массива.
Пример: из массива A[5]: 8 6 9 4 5 должен получиться
массив A[3]: 8 6 9 (среднее арифметическое четных элементов =(8+6+9+4+5)/5=6.4).
Вариант B15
Из массива удалить четные элементы, стоящие между максимальным и минимальным элементами.
Пример: из массива A[7]: 1 8 8 4 7 0 5 должен получиться массив A[5]: 1 8 7 0 5.
Вариант B16
Из массива удалить элементы, кратные трем, стоящие между максимальным и минимальным элементами.
Пример: из массива A[7]: 1 9 3 4 9 0 0 должен получиться массив A[5]: 1 9 4 0 0.
Вариант B17
Из массива удалить элементы, имеющие четный индекс и стоящие между максимальным и минимальным элементами.
Пример: из массива A[7]: 9 3 4 9 1 0 0 должен получиться массив A[5]: 9 4 1 0 0.
Вариант B18
Из массива удалить элементы, встречающиеся в массиве более одного раза.
Пример: из массива A[7]: 9 3 4 9 1 0 0 должен получиться массив A[3]: 3 4 1.
Вариант B19
Из массива удалить элементы, встречающиеся в массиве только один раз.
Пример: из массива A[7]: 9 1 4 9 1 9 0 должен получиться массив A[5]: 9 1 9 1 9.
Вариант B20
Из массива удалить нечетные элементы, встречающиеся в массиве только один раз.
Пример: из массива A[7]: 4 1 4 3 1 9 0 должен получиться массив A[5]: 4 1 4 1 0.
Задачи сложные
Вариант С1
Из массива удалить самую длинную цепочку четных элементов.
Пример: из массива A[8]: 4 1 4 2 1 2 4 6 должен получиться массив A[5]: 4 1 4 2 1.
(Самая длинная цепочка четных чисел включает элементы с 6 по 8: 2 4 6).
Вариант С2
Из массива удалить цепочки из четных элементов, состоящие менее чем из трех элементов.
Пример: из массива A[8]: 4 3 4 2 1 2 4 6 должен получиться массив A[5]: 3 1 2 4 6.
Вариант С3
Из массива удалить цепочки из нечетных элементов, состоящие менее чем из трех элементов.
Пример: из массива A[8]: 3 3 4 5 2 3 7 9 должен получиться массив A[5]: 4 2 3 7 9.
Вариант С4
Из массива A удалить те элементы, которые встречаются
и в массиве A, и в массиве B по крайней мере по 2 раза.
Пример: массив A[8]: 3 3 4 5 2 3 5 9
массив B[7]: 1 2 3 4 5 2 5.
По 2 раза в обоих массивах встречается только элемент, равный 5.
Массив A после удаления примет вид: A[6]: 3 3 4 2 3 9.
Вариант С5
Из массива из каждой цепочки четных элементов удалить
самый маленький элемент.
Пример: из массива A[9]: 3 6 4 5 2 3 4 6 4 должен
получиться массив A[6]: 3 6 5 3 6 4.
Вариант С6
Из массива A удалить те цепочки четных элементов, в
которых есть хотя бы один элемент из массива B.
Пример: массив A[9]: 3 2 4 5 2 3 2 6 5
массив B[6]: 1 3 4 7 8 9.
Массив A после удаления примет вид:
A[7]: 3 5 2 3 2 6 5.
Вариант С7
Из массива A удалить те цепочки нечетных элементов,
в которых нет ни одного элемента из массива B.
Пример: массив A[10]: 3 2 7 .5 2 1 2 6 3 9
массив B[5]: 1 2 5 4 8.
Массив A после удаления примет вид:
A[7]: 2 7 5 2 1 2 6.
Вариант С8
Из массива A удалить те цепочки нечетных элементов,
в которых нет ни одного элемента из массива B.
Пример: массив A[10]: 3 2 7 5 2 1 2 6 3 9
массив B[5]: 1 2 5 4 8.
Массив A после удаления примет вид:
A[7]: 2 7 5 2 1 2 6.
Вариант С9
Между массивами A и B обменять их самые длинные цепочки из одинаковых элементов.
Пример: массив A[10]: 3 2 2 5 2 1 1 1 3 9
массив B[8]: 1 2 5 5 4 8 3 3.
В массиве A самая длинная цепочка:
1 1 1 (элементы с 7 по 9).
В массиве B самая длинная цепочка:
5 5 (элементы с 3 по 4).
Массив A после перестановки в него цепочки из массива B: A[9]: 3 2 2 5 2 5 5 3 9.
Массив B после перестановки в него цепочки из массива A: B[9]: 1 2 1 1 1 4 8 3 3.
Вариант С10
Между массивами A и B обменять их самые длинные цепочки из четных элементов.
Пример: массив A[10]: 3 2 4 6 2 1 1 1 8 9
массив B[7]: 1 0 5 5 4 3 3.
В массиве A самая длинная цепочка:
2 4 6 2 (элементы со 2 по 5).
В массиве B самая длинная цепочка:
0 (элемент 2).
Массив A после перестановки в него цепочки из массива B: A[7]: 3 0 1 1 1 8 9.
Массив B после перестановки в него цепочки из массива A: B[10]: 1 2 4 6 2 5 5 4 3 3.
Вариант С11
Переписать в начало массива цепочку, содержащую наибольшее число подряд идущих четных элементов.
Пример: массив A[10]: 3 2 4 6 2 1 1 1 8 9.
В массиве A самая длинная цепочка:
2 4 6 2 (элементы со 2 по 5).
Массив A после перестановки цепочки в начало:
A[7]: 2 4 6 2 3 1 1 1 8 9.
Вариант С12
В массиве все нечетные элементы, стоящие перед минимальным нечетным элементом, переслать в "хвост" массива. Взаимную упорядоченность как пересылаемых, так и не пересылаемых элементов сохранить.
Пример: массив A[10]: 3 2 7 6 2 1 2 4 8 9.
Массив A после перестановки:
A[7]: 2 6 2 1 2 4 8 9 3 7.
Вариант С13
В массиве все цепочки элементов, содержащие более двух подряд идущих нечетных элементов, заменить на максимальный элемент.
Пример: массив A[10]: 3 2 7 5 3 1 2 3 1 9.
Цепочки нечетных элементов, содержащие
более двух элементов: 7 5 3 1 3 1 9.
Максимальный элемент: 9.
Массив A после замены: 3 2 9 2 9.
Вариант С14
В массиве цепочку, содержащую наибольшее число равных нечетных элементов, заменить на цепочку, содержащую наибольшее количество нечетных элементов.
Пример: массив A[10]: 3 3 3 4 3 1 3 3 5 2.
Наибольшая цепочка, содержащая равные
нечетные элементы: 3 3 3.
Наибольшая цепочка из
нечетных элементов: 3 1 3 3 5.
Массив A после замены: 3 1 3 3 5 4 3 1 3 3 5 2.
Вариант С15
Из массива удалить повторяющиеся цепочки, имеющие длину не меньше 2.
Пример: массив A[10]: 3 3 4 3 3 1 3 3 5 2.
В массиве повторяется цепочка: 3 3.
Массив A после удаления: 4 1 5 2.
Вариант С16
Найти в массиве наибольшую по длине неубывающую цепочку подряд идущих элементов.
Пример: массив A[10]: 3 3 4 3 3 1 3 3 5 2.
Неубывающие цепочки: 3 3 4/3 3/1 3 3 5/2.
Наибольшая из них: 1 3 3 5.
Вариант С17
Перенести все четные элементы в начало массива, а все нечетные – в конец. Взаимное расположение, как среди четных элементов, так и среди нечетных, сохранить.
Пример: массив A[10]: 3 5 4 1 7 1 6 3 5 2.
Массив после перестановки
элементов: 4 6 2 3 5 1 7 1 3 5.
Вариант С18
Сдвинуть циклически элементы массива на K позиций в заданную сторону (влево или вправо).
Пример: массив A[10]: 3 5 4 1 7 1 6 3 5 2.
Массив после сдвига влево
на 4 позиции: 7 1 6 3 5 2 3 5 4 1.
Вариант С19
В массивах A и B найти наибольшую общую цепочку, содержащую только четные элементы.
Пример: массив A[10]: 3 2 4 4 6 2 1 4 6 8
массив B[7]: 4 6 8 5 2 4 3.
Наибольшая общая цепочка 4 6 8.
Вариант С20
В массивах A, B и C найти наибольшую общую цепочку.
Пример: массив A[10]: 3 2 4 4 6 2 1 4 6 8
массив B[7]: 4 6 8 3 2 4 3
массив С[8]: 1 4 3 2 4 2 4 5.
Наибольшая общая цепочка 3 2 4.
Пример
//Вычислить сумму тех элементов, значение которых больше значения их индекса.
//Пример: для массива A[5]: 2 1 3 7 4 сумма элементов равна 9.
#include "stdafx.h"
//этот модуль необходим, что бы быть использовать утверждения
#include <assert.h>
//этот модуль необходим, что бы можно было пользоваться функцией _getch();
#include <conio.h>
//эти строки необходимы для того, что бы можно было пользоваться cint и cout
#include <iostream>
using namespace std;
const int MAXSIZE = 20;
int getSize() {
//выводим приглашение на ввод размера массива
cout << "input array size: ";
int size;
do {
//получаем из стандартного потока (т.е. клавиатуры) размер массива
cin >> size;
if (size <= 0) {
cout << "\nwrong size\n";
}
} while (size <= 0 || size > MAXSIZE);
return size;
}
void getArray(int *a, const int size) {
//выводим приглашение на ввод элементов, указывая их количество
cout << "input " << size << " elements\n";
//собственно цикл по вводу элементов массива
for (int i = 0; i < size; i++) {
cin >> a[i];
}
}
void finish() {
cout << "\n";
system("PAUSE");
}
int getSum(int *a, int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
if (a[i] <= i + 1) {
continue;
}
sum += a[i];
}
return sum;
}
int _tmain(int argc, _TCHAR* argv[]) {
//очищаем экран
system("cls");
//получаем размер массива
int size = getSize();;
//на всякий случай проверяем, что получили верно
assert(size >= 1);
assert(size <= MAXSIZE);
int a[MAXSIZE];
//получаем элементы массива
getArray(a, size);
cout << "sum is: " << getSum(a, size);
//выводим, что программа завершилась и ждем нажатия клавиши
finish();
return 0;
}