22 февраля 2016 г.

Определить, является ли введённое число любой разрядности палиндромом (например, 1234321 – палиндром, 12345 – не палиндром).

int digit;
cout << "Enter digit:";
cin >> digit;

int old_digit = digit;
int new_digit = 0;
while (digit > 0)
{
int tmp = digit % 10;
new_digit = new_digit * 10 + tmp;
digit = digit / 10;
}
if (new_digit == old_digit)
cout << "palindrom" << endl;
else
cout << "No palindrom" << endl;
system("pause");

Написать программу, которая выводят на экран ромб (пользователь вводит диагональ), состоящий из символа '*'.

int digit;

cout << "Enter digit: ";
cin >> digit;
cout << "\n";
digit /= 2;
digit++;

for (int i = 0; i<digit * 2 - 1; i++)
{
for (int y = 0; y<digit * 2 - 1; y++)
{
if (y >= digit - i - 1 && y <= digit - 1 + i&&i<digit + y&&y<digit * 3 - i - 2)
{
cout << "*";
continue;
}
cout << " ";
}
cout << "\n";
}
system("pause");

Написать программу, которая выводят на экран ромб (пользователь вводит диагональ), состоящий из символа '*'. Фигура внутри пустая.

int digit;

cout << "Enter digit: ";
cin >> digit;
cout << "\n";


for (int i = 0; i<digit; i++)
{
for (int j = 0; j<digit; j++)
{
if ( j == digit / 2 + i || j == digit / 2 - i || j == i - digit / 2 || j==digit-i+digit/2-1)
cout << "*";
else
cout << " ";
}
cout << endl;
}
system("pause");

Написать программу, которая выводит на экран елочку.

srand(time(0));
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);

int length_of_sections, summ_sections;
cout << "Enter summ sections:";
cin >> summ_sections;
do
{
cout << "Enter length of sections(only even digit):";
cin >> length_of_sections;
} while (length_of_sections % 2 == 0);

int front=0;

for (int i = 1; i <= summ_sections; i++)
{
front++;
if (front == 15)
front = 1;

for (int i = 0; i<length_of_sections / 2 + 1; i++)
{
for (int j = 0; j<length_of_sections; j++)
{
if (j <= length_of_sections / 2 + i &&j >= length_of_sections / 2 - i)
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | front));
cout << "*";
}
else
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | front));
cout << " ";
}
}
cout << "\n";
}
}
system("pause");

Тоже самое, но фигура перевернута и пустая внутри.

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
int length_of_sections, summ_sections;
cout << "Enter summ sections:";
cin >> summ_sections;
do
{
cout << "Enter length of sections(only even digit):";
cin >> length_of_sections;
} while (length_of_sections % 2 == 0);

int front=0;

for (int i = 1; i <= summ_sections; i++)
{
front++;
if (front == 15)
front = 1;

for (int i = 0; i<length_of_sections / 2 + 1; i++)
{
for (int j = 0; j < length_of_sections; j++)
{
if (i == 0 || j == i || j == length_of_sections - i - 1)
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | front));
cout << "*";
}
else
cout << " ";
}
cout <<endl;
}
}
system("pause");

Написать программу, которая выводит на экран все "счастливые" номера трамвайных билетов и подсчитывает их общее количество.

for (int digit = 100000; digit <= 999999; digit++)
{
int first = 0;
int second = 0;
int tmp = digit;
while (tmp > 0)
{
if (tmp < 1000)
first += tmp % 10;
else
second += tmp % 10;
tmp /= 10;
}
if (first == second)
cout << digit << endl;
}
system("pause");

Нарисовать звездочками флаг Великобритании.

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
int digit;
do
{
cout << "Enter digit(only even digit):";
cin >> digit;
} while (digit % 2 == 0);

cout << endl;

for (int i = 0; i < digit; i++)
{
for (int j = 0; j < digit; j++)
{
if (j == i || j == digit - i-1||i==digit/2||j==digit/2)
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | RED));
cout << char(219);

}
else if (i == digit / 2 - 1 || j == digit / 2 - 1 || i == digit / 2 + 1 || j == digit / 2 + 1||
j == i-1 || j == digit - i - 2|| j == i+1 || j == digit - i)
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | WHITE));
cout << char(219);
}
else
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | BLUE));
cout << char(219);
}

}
cout << endl;
}
cout << endl;
system("pause");

Вывести на экран таблицу умножения от 1 до 9 в виде трех строк и трех колонок.

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
int front = 1;
for (int i = 1; i <= 9; i+=3)
{
for (int j = 1; j < 10; j++)
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | front++));
cout << i << " * " << j << " = " << i*j << "\t";
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | front++));
cout << i + 1 << " * " << j << " = " << (i + 1)*j << "\t";
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | front++));
cout << i + 2 << " * " << 2 << " = " << (i + 2)*j << endl;
front -= 3;
}
cout << endl;
front += 3;
}
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | WHITE));
system("pause");

Написать программу, которая выводят на экран флаг Украины (пользователь вводит ширину, высота равна трети ширины), состоящий из символа '*'. То же, но фигура внутри пустая.

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
int digit;
do
{
cout << "Enter digit(digit>\9):";
cin >> digit;
} while (digit < 10|| (digit / 3 / 2)%2!=0);

for (int i = 0; i <= digit/3; i ++)
{
for (int j = 0; j < digit; j++)
{
if (i <= digit / 3 / 2)
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | L_BLUE));
cout << char(219);
}
else
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | YELLOW));
cout << char(219);
}
}
cout << endl;
}
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | WHITE));
cout << endl << endl;
for (int i = 0; i <= digit / 3; i++)
{
for (int j = 0; j < digit; j++)
{
if (i == 0||(j==0&&i<=digit/3/2)||(j==digit-1 && i <= digit / 3 / 2))
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | L_BLUE));
cout << char(219);
}
else if (i == digit / 3||(j==0&&i>= digit / 3 / 2) || (j == digit - 1 && i >= digit / 3 / 2))
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | YELLOW));
cout << char(219);
}
else
cout << " ";
}
cout << endl;
}
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | WHITE));
system("pause");

Создать символьный массив (char-массив) из 10 элементов. Определить сколько в нём цифр, букв и знаков пунктуации.

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);

srand(time(0));
const int size = 10;
char A[size] = {};
int index_digit = 0;
int index_symbol = 0;
int index_punc = 0;
for (size_t i = 0; i < size; i++)
{
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | i+1));
A[i] = rand() % 255;
cout << A[i] << " ";
if (A[i] >= 48 && A[i] <= 57)
{
index_digit++;
continue;
}
if (A[i] >= 44 && A[i] <= 46)
{
index_punc++;
continue;
}
index_symbol++;


}
cout << endl;
SetConsoleTextAttribute(h, (WORD)(BLACK << 4 | L_GRAY));
cout << "Digits - " << index_digit << endl
<< "Symbols - " << index_symbol << endl
<< "Punctuations - " << index_punc << endl;
system("pause");

Написать программу, которая предлагает пользователю ввести число и, затем подсчитывает, сколько раз это число встречается в массиве.

srand(time(0));
const int size = 20;
int A[size]{};
for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 101;
cout << A[i] << "\t";
}
cout << endl;
int digit;
int index = 0;
cout << "Enter digit:";
cin >> digit;
cout << endl;
for (size_t i = 0; i < size; i++)
{
if (A[i] == digit)
index++;
}

if (index)
cout << index << " times the number found" << endl;
else
cout << "Digit not found in massive" << endl;
system("pause");

Создать массив из 10 целых случайных чисел в диапазоне от 0 до 100. Определить количество элементов массива, кратных 3, 5, 7.

srand(time(0));
const int size = 10;
int A[size]{};
for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 101;
cout << A[i] << "\t";
}
cout << endl;
int index_3 = 0;
int index_5 = 0;
int index_7 = 0;

for (size_t i = 0; i < size; i++)
{
if (A[i] % 3 == 0)
index_3++;
if (A[i] % 5 == 0)
index_5++;
if (A[i] % 7 == 0)
index_7++;
}
cout << "3 fold - " << index_3 << endl
<< "5 fold - " << index_5 << endl
<< "7 fold - " << index_7 << endl;
system("pause");

Создать массив из 10 целых случайных чисел в диапазоне от 0 до 100. Определить сумму элементов массива, кратных 3, но не кратных 5.

srand(time(0));
const int size = 10;
int A[size]{};
for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 101;
cout << A[i] << "\t";
}
cout << endl;
int summ = 0;

for (size_t i = 0; i < size; i++)
{
if (A[i] % 3 == 0 && A[i] % 5 != 0)
summ+=A[i];
}
cout << "Summ = " << summ << endl;
system("pause");

Создать массив из 20 случайных чисел в диапазоне от -10 до 30. Написать программу, определяющую сумму элементов массива, находящихся в массиве после первого отрицательного элемента.

srand(time(0));
const int size = 20;
int A[size]{};
for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 41-10;
cout << A[i] << "\t";
}
cout << endl;

int summ = 0;
bool rele = false;

for (size_t i = 0; i < size; i++)
{
if (A[i] >= 0 || rele == true)
continue;
else
{
rele = true;
cout << i << "\t";
for (size_t j = i; j < size; j++)
{
summ += A[j];
}
}
}
cout << "Summ = " << summ << endl;
system("pause");

Создать массив из 20 случайных чисел в диапазоне от -30 до 10. Написать программу, определяющую сумму элементов массива, находящихся в массиве до первого положительного элемента.

srand(time(0));
const int size = 20;
int A[size]{};
int summ = 0;
int index;
for (size_t i=0; i < size; i++)
{
A[i] = rand() % 41 - 30;
cout << A[i] << " ";
}

cout << endl;

for (size_t i = 0; i < size; i++)
{

if (A[i] > 0)
break;
else
summ += A[i];
}
cout << summ << endl;
system("pause");

Ввести массив из 10 вещественных чисел. Определить, сколько элементов массива не имеют дробной части.

srand(time(0));
const int size = 10;
double A[size]{};
int index = 0;

cout << "Enter 10 digits" << endl;
for (size_t i = 0; i < size; i++)
{
cin >> A[i];
}

int tmp;
cout << endl;
for (size_t i = 0; i < size; i++)
{
tmp = A[i];
if (A[i] == tmp)
{
index++;
}
cout << tmp << endl;
}
cout << endl;
cout << "Int digits - " << index << endl;

system("pause");

Создать массив из 20 случайных чисел. Определить минимальный и максимальный элемент массива (вывести значение и порядковый номер).

srand(time(0));
const int size = 20;
int A[size]{};

for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 101;
cout << A[i] << " ";
}
cout << endl;

int min = A[0];
int max = A[0];
int index_min = 0;
int index_max = 0;

for (size_t i = 0; i < size; i++)
{
if (A[i] <= min)
{
min = A[i];
index_min = i;
}
if (A[i] >= max)
{
max = A[i];
index_max = i;
}


}
cout << "Min: " << "A[" << index_min << "]= " << min << endl
<< "Max: " << "A[" << index_max << "]= " << max << endl;
system("pause");

Создать массив из 20 случайных чисел в диапазоне от 0 до 200. Определить количество одноразрядных, двухразрядных и трёхразрядных чисел в процентном отношении.

srand(time(0));
const int size = 20;
int A[size]{};

for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 201;
cout << A[i] << " ";
}
cout << endl;
int index_1 = 0;
int index_2 = 0;
int index_3 = 0;
for (size_t i = 0; i < size; i++)
{
if (A[i] > 99)
index_3++;
else if (A[i] > 9 && A[i] < 100)
index_2++;
else
index_1++;
}
cout << "three- digit number - " << index_3 << endl
<< "two- digit number - " << index_2 << endl
<< "one- digit number - " << index_1 << endl;
system("pause");

Создать массив из 20 целых случайных чисел в диапазоне от 0 до 100. Определить и вывести на экран все простые числа из этого массива.

srand(time(0));
const int size = 20;
int A[size]{};

for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 101;
cout << A[i] << " ";
}
cout << endl << "simple numbers is: ";
for (size_t i = 0; i < size; i++)
{
for (int j = 2; j <= A[i]; j++)
{
if (A[i] %j == 0)
{
if (A[i] != j)
break;
cout << A[i] << " ";
break;
}
}
}
cout << endl;
system("pause");

Даны 2 массива размерности M и N соответственно. Необходимо переписать в третий массив те элементы первого массива, которых нет во втором массиве, без повторений.

srand(time(0));
const int size_a = 10;
const int size_b = 8;
const int size_c = size_a + size_b;
int A[size_a]{5,9,22,1,5,4,22,6,8,4};
int B[size_b]{5,4,1,5,4,8,9,5};
int C[size_c]{};
cout << "Massive A:" << endl;
for (size_t i = 0; i < size_a; i++)
{
//A[i] = rand() % 101;
cout << A[i] << " ";
}
cout << endl << "Massive B:" << endl;
for (size_t i = 0; i < size_b; i++)
{
//B[i] = rand() % 101;
cout << B[i] << " ";
}

int povtor = 0;
int index_c = 0;
for (int i = 0; i < size_a; i++)
{
for (int j = 0; j < size_b; j++)
{
if (B[j] == A[i])
{
povtor++;
}
}
if (povtor==0)
{
int tmp = 0;
for (int k = 0; k < size_c; k++)
{
if (C[k] == A[i])
tmp++;
}
if (tmp == 0)
{
C[index_c] = A[i];
index_c++;
}
}
povtor = 0;
}

cout << endl << "Massive C:" << endl;
for (size_t i = 0; i < size_c; i++)
{
cout << C[i] << " ";
}
cout << endl;
system("pause");

}

Дан массив из 20 чисел. Отсортировать первую и третью пятерку чисел по возрастанию, а вторую и четвертую цепочку чисел по убыванию.

srand(time(0));
const int size = 50;
int A[size];

//Мой код универсален. Размерность массива не имеет значения. Каждые 5 элементов меняется направление сортировки.

for (int i = 0; i < size; i++){
A[i] = rand() % 61 - 30;
cout << A[i] << "\t";
if ((i + 1) % 5 == 0)
cout << endl;
}
cout << "============================================" << endl;
int tmp = 0;
bool rele = false;//переключалка
int i_temp = 0;//нижняя граница
int size_temp=5;//верхняя граница
for (;size_temp<=size; i_temp += 5, size_temp += 5){
if (rele==false){
for (int i = i_temp; i < size_temp; i++){
for (int j = i_temp+1; j < size_temp; j++){
if (A[j - 1] > A[j]){
tmp = A[j];
A[j] = A[j - 1];
A[j - 1] = tmp;
}
}
}
rele = true;
}
else{
for (int i = i_temp; i < size_temp; i++){
for (int j = i_temp + 1; j < size_temp; j++){
if (A[j - 1] < A[j]){
tmp = A[j];
A[j] = A[j - 1];
A[j - 1] = tmp;
}
}
}
rele = false;
}
}
for (int i = 0; i < size; i++){
cout << A[i] << "\t";
if ((i+1)%5==0)
cout << endl;
}
system("pause");

Поместить в одномерный массив числа от 1 до 30 (31). И показать календарь на текущий месяц.

int month;
do {
cout << "Enter number of month(1-12):";
cin >> month;
} while (month < 1 || month > 12);
cout << "Mo\tTu\tWe\tTh\tFr\tSa\tSu" << endl;
switch (month) {
case 1:{
int A[31]{};
for (int i = 1; i <= 31; i++)
A[i - 1] = i;
for (int i = 0; i < 35; i++) {
if (i < 4) {
cout << "\t";
continue;
}
cout << A[i - 4] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 2:{
int A[29]{};
for (int i = 1; i <= 29; i++)
A[i - 1] = i;
for (int i = 0; i <29; i++) {
cout << A[i] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 3: {
int A[31]{};
for (int i = 1; i <= 31; i++)
A[i - 1] = i;
for (int i = 0; i < 32; i++) {
if (i == 0) {
cout << "\t";
continue;
}
cout << A[i - 1] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 4: {
int A[30]{};
for (int i = 1; i <= 30; i++)
A[i - 1] = i;
for (int i = 0; i < 34; i++) {
if (i < 4) {
cout << "\t";
continue;
}
cout << A[i - 4] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 5: {
int A[31]{};
for (int i = 1; i <= 31; i++)
A[i - 1] = i;
for (int i = 0; i < 37; i++) {
if (i < 6) {
cout << "\t";
continue;
}
cout << A[i - 6] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 6: {
int A[30]{};
for (int i = 1; i <= 30; i++)
A[i - 1] = i;
for (int i = 0; i < 32; i++) {
if (i < 2) {
cout << "\t";
continue;
}
cout << A[i - 2] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 7: {
int A[31]{};
for (int i = 1; i <= 31; i++)
A[i - 1] = i;
for (int i = 0; i < 35; i++) {
if (i < 4) {
cout << "\t";
continue;
}
cout << A[i - 4] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 8: {
int A[31]{};
for (int i = 0; i < 31; i++) {
A[i - 1] = i+1;
cout << A[i-1] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 9: {
int A[30]{};
for (int i = 1; i <= 30; i++)
A[i - 1] = i;
for (int i = 0; i < 33; i++) {
if (i < 3) {
cout << "\t";
continue;
}
cout << A[i - 3] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 10: {
int A[31]{};
for (int i = 1; i <= 31; i++)
A[i - 1] = i;
for (int i = 0; i < 36; i++) {
if (i < 5) {
cout << "\t";
continue;
}
cout << A[i - 5] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 11: {
int A[30]{};
for (int i = 1; i <= 30; i++)
A[i - 1] = i;
for (int i = 0; i < 31; i++) {
if (i==0) {
cout << "\t";
continue;
}
cout << A[i - 1] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
case 12: {
int A[31]{};
for (int i = 1; i <= 31; i++)
A[i - 1] = i;
for (int i = 0; i < 34; i++) {
if (i < 3) {
cout << "\t";
continue;
}
cout << A[i - 3] << "\t";
if ((i + 1) % 7 == 0)
cout << endl;
}
cout << endl;
}
break;
}
system("pause");

Вывести одномерный массив по диагонали на экран буквой X

const int size=11;
int A[size]{};

for (size_t i = 0; i < size; i++) {
A[i] = i + 1;
}

for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i == j) {
cout << A[i];
}
else if (j == size - i-1) {
cout << A[size - i - 1];
}
else
cout << " ";
}
cout << endl;
}
system("pause");

Вывести на экран одномерный массив в виде полого квадрата.

const int size=16;
int A[size]{};

for (size_t i = 0; i < size; i++) {
A[i] = i + 1;
}
int index = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 0||j==0||i==4||j==4) {
cout << A[index] << "\t";
index++;
}
else
cout << "\t";
}
cout << endl;
}
system("pause");

Отсортируйте по неубыванию методом "пузырька" одномерный целочисленный массив, заданный случайными числами на промежутке [-100; 100). Выведите на экран исходный и отсортированный массивы.

srand (time (0));
const int size = 10;
int A[size];

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand () % 201 - 100;
cout << A[i] << "\t";
}
int temp = 0;

for (int i = 0; i < size; i++) {
for (int j = 1; j < size - i; j++) {
if (A[j - 1] > A[j]) {
temp = A[j];
A[j] = A[j - 1];
A[j - 1] = temp;
}
}
}
cout << endl << "Sort massive:" << endl;
for (int i = 0; i < size; i++)
cout << A[i] << "\t";
system("pause");

Создать одномерный массив из 50 элементов и заполнить его случайными значениями. Реализовать алгоритм линейного поиска элемента в заданном диапазоне. Искомое значение и диапазон значений указывает пользователь.

srand(time(0));
const int size = 50;
int A[size]{};
for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 200 - 99;
cout << A[i] << "\t";
if ((i + 1) % 10 == 0)
cout << endl;
}
int begin;
int end;
int digit;
cout << "Enter begin range:";
cin >> begin;
cout << "Enter end range:";
cin >> end;
cout << "Enter digit:";
cin >> digit;
int i = begin;
for (; i < end; i++) {
if (A[i] == digit) {
cout << "Digit is found! " << i << " element in range" << endl;
break;
}
}
if (i == end)
cout << "Digit not found in range" << endl;
system("pause");

Есть два одномерных массива типа int, в третий (дробный) поместить результат нахождения процента br[n] от числа A[n].

srand(time(0));
const int size = 10;
int A[size]{};
int B[size]{};
int C[size]{};
for (int i = 0; i < size; i++) {
A[i] = rand() % 100-50;
B[i] = rand() % 101;
}
for (int i = 0; i < size; i++) {
A[i] = rand() % 100 - 50;
B[i] = rand() % 101;
cout << A[i] << "\t";
}
cout << endl;
for (int i = 0; i < size; i++)
{
cout << B[i] << "\t";
}
cout << endl;

for (int i = 0; i < size; i++)
{
C[i] = (A[i] * B[i]) / 100;
}

for (int i = 0; i < size; i++) {
cout << C[i]<<"\t";
}
system("pause");

Написать программу, копирующую один массив в другой следующим образом: сначала копируются последовательно все элементы, большие 0, затем последовательно все элементы, равные 0, а затем последовательно все элементы, меньшие 0.

srand(time(0));
const int size = 10;
int A[size]{};
int B[size]{};
int index = 0;
for (int i = 0; i < size; i++) {
A[i] = rand() % 200 - 99;
cout << A[i] << "\t";
}
cout << endl;
for (int i = 0; i < size; i++) {
if (A[i] < 0) {
B[index] = A[i];
index++;
}
}
for (int i = 0; i < size; i++) {
if (A[i] == 0) {
B[index] = A[i];
index++;
}
}
for (int i = 0; i < size; i++) {
if (A[i] > 0) {
B[index] = A[i];
index++;
}
}
for (int i = 0; i < size; i++)
cout << B[i] << "\t";

system("pause");

Написать программу, копирующую последовательно элементы 2-х массивов размером 5 элементов каждый в один массив размером 10 элементов.

srand(time(0));
const int size = 5;
const int b_size = size * 2;
int A[size]{};
int B[size]{};
int C[b_size]{};
int index = 0;

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 200 - 99;
cout << A[i] << "\t";
}
cout << endl;

cout << "Massive B:" << endl;
for (int i = 0; i < size; i++) {
B[i] = rand() % 200 - 99;
cout << B[i] << "\t";
}
cout << endl;

for (int i = 0; i < size; i++) {
C[index] = A[i];
index++;
}
for (int i = 0; i < size; i++) {
C[index] = B[i];
index++;
}

cout << "Massive C:" << endl;
for (int i = 0; i < b_size; i++) {
cout << C[i] << "\t";
}
cout << endl;
system("pause");

Написать программу, копирующую последовательно элементы одного массива размером 10 элементов в 2 массива размером 5 элементов каждый.

srand(time(0));
const int size = 10;
const int s_size = size / 2;
int A[size]{};
int B[s_size]{};
int C[s_size]{};
int index_b = 0;
int index_c = 0;
cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 200 - 99;
cout << A[i] << "\t";
}
cout << endl;
for (int i = 0; i < size; i++) {
if (i < s_size) {
B[index_b] = A[i];
index_b++;
continue;
}
C[index_c] = A[i];
index_c++;
}
cout << "Massive B:" << endl;
for (int i = 0; i < s_size; i++) {
cout << B[i] << "\t";
}
cout << endl;
cout << "Massive C:" << endl;
for (int i = 0; i < s_size; i++) {
cout << C[i] << "\t";
}
cout << endl;
system("pause");

Сделать зеркальное отображение массива.

srand(time(0));
const int size = 5;
const int b_size = size * 2;
int A[size]{};
int B[b_size]{};
int index = 0;

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 200 - 99;
cout << A[i] << "\t";
}
cout << endl;

for (int i = 0; i < b_size; i++) {
if (i < size) {
B[index] = A[i];
index++;
continue;
}
B[index] = A[b_size-i-1];
index++;
}

cout << "Massive B:" << endl;
for (int i = 0; i < b_size; i++) {
cout << B[i] << "\t";
}
cout << endl;
system("pause");

Осуществить циклический сдвиг массива на один элемент вправо, т.е. 0 становится 1, 1 – 2 и т.д. Последний становится нулевым. Например: 12345 = > 51234

srand(time(0));
const int size = 5;
int A[size]{};

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 200 - 99;
cout << A[i] << "\t";
}
cout << endl;

int tmp = A[size - 1];
for (int i = size-1; i >0; i--) {
A[i] = A[i - 1];
}
A[0] = tmp;

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
cout << A[i] << "\t";
}
cout << endl;
system("pause");

Отсортируйте по невозрастанию методом "вставками" одномерный вещественный массив, заданный случайными числами на промежутке [0; 50). Выведите на экран исходный и отсортированный массивы.

srand (time (0));
const int size = 10;
double A[size]{};
double tmp;

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 5000*0.01;
cout << A[i] << "\t";
}
cout << endl;

for (int i = 0, j = 0; i < size; i++) {
tmp = A[i];
for (j = i - 1; j >= 0 && A[j] < tmp;j--) {
A[j + 1] = A[j];
}
A[j + 1] = tmp;
}
cout << endl << "Sort massive:" << endl;
for (int i = 0; i < size; i++)
cout << A[i] << "\t";
cout << endl;
system("pause");

Отсортируйте по возрастанию методом "вставками" одномерный целочисленный массив, заданный с клавиатуры различными числами. Выведите на экран исходный и отсортированный массивы.

const int size = 10;
int A[size]{};
int tmp;

for (int i = 0; i < size; i++) {
cout << "Enter A[" << i << "]:";
cin >> A[i];
}

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
cout << A[i] << "\t";
}
cout << endl;

for (int i = 0, j = 0; i < size; i++) {
tmp = A[i];
for (j = i - 1; j >= 0 && A[j] > tmp;j--) {
A[j + 1] = A[j];
}
A[j + 1] = tmp;
}
cout << endl << "Sort massive:" << endl;
for (int i = 0; i < size; i++)
cout << A[i] << "\t";
cout << endl;
system("pause");

Массив размером 2m + 1, где m – натуральное число, заполнен случайным образом. Найдите в массиве медиану. Медианой называется элемент ряда, делящий его на две равные части: в одной находятся элементы, которые не меньше медианы, в другой – не больше медианы.

srand(time(0));
const int size = 9;
int A[size]{};

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 51;
cout << A[i] << "\t";
}
cout << endl;
int tmp;
for (int i = 0, j = 0; i < size; i++) {
tmp = A[i];
for (j = i - 1; j >= 0 && A[j] > tmp; j--) {
A[j + 1] = A[j];
}
A[j + 1] = tmp;
}

cout << endl << "Sort massive:" << endl;
for (int i = 0; i < size; i++)
cout << A[i] << "\t";
cout << endl << endl;
cout << "Mediana: " << A[size / 2 + 1] << endl;
system("pause");

Массив размером m, где m – натуральное число, заполнен случайным образом. Найдите в массиве моду. Модой называется элемент ряда, который встречается наиболее часто.

srand(time(0));
const int size=10;
int A[size]{};

cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 51;
cout << A[i] << "\t";
}
cout << endl;

int tmp;
for (int i = 0, j = 0; i < size; i++) {
tmp = A[i];
for (j = i - 1; j >= 0 && A[j] > tmp; j--) {
A[j + 1] = A[j];
}
A[j + 1] = tmp;
}

int res = 0;
int max_index = 0;
int max_value = 0;
for (int i = 0; i < size; i++) {
if (A[i] == A[i + 1]) {
res++;
max_value = A[i];
}
if (res > max_index) {
max_index = res;
}
}
cout << "Moda:" << max_value << endl;

system("pause");

Реализовать программу, которая позволит пользователю самому переставлять элементы массива. Изначально массив заполняется случайными значениями(диапазон этих значений задает пользователь). Затем пользователь указывает индекс того элемента, который он хочет переместить, на экран выводиться массив без этого элемента. Затем пользователь указывает индекс, того места куда необходимо вставить элемент, который достали. Если пользователь хочет завершить сортировку, достаточно ввести индекс несуществующего элемента.

setlocale(LC_ALL,"rus");
const int size = 10;
int A[size]{};
for (int i = 0; i < size; i++)
A[i] = rand() % 51;
int digit;
do
{
cout << "Massive A:" << endl;
for (int i = 0; i < size; i++) {
A[i] = rand() % 51;
cout.width(3);
cout << A[i];
}
cout << endl;
cout << "Выберите элемент, который хотите переставить:";
cin >> digit;
int tmp_value = A[digit - 1];
int tmp_index = digit - 1;
for (int i = 0; i < size; i++) {
if (i == digit-1)
continue;
cout.width(3);
cout << A[i];
}
cout << endl;
cout << "Выберите место, куда вы хотите его вставить:";
cin >> digit;

A[tmp_index] = A[digit - 1];
A[digit - 1] = tmp_value;
for (int i = 0; i < size; i++) {
cout.width(3);
cout << A[i];
}
cout << endl;
cout << "Если хотите продолжить, нажмите 1:";
cin >> digit;
} while (digit == 1);

system("pause");

Создать массив из 10 целых случайных чисел. Изменить порядок следования элементов массива на противоположный (1-й элемент меняется с 10-м, 2-й элемент с 9-м и т.д.).

srand(time(0));
const int size = 10;
int A[size]{};

for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 101;
cout << A[i] << " ";
}
cout << endl;
for (size_t i = 0; i < size/2; i++)
{
A[i] += A[size-i-1];
A[size - i - 1] = A[i] - A[size - i - 1];
A[i] = A[i] - A[size - i - 1];
}
for (size_t i = 0; i < size; i++)
{
cout << A[i] << " ";
}
cout << endl;
system("pause");

Даны 2 массива размерности M и N соответственно. Необходимо переписать в третий массив общие элементы первых двух массивов без повторений.

srand(time(0));
const int size_a = 10;
const int size_b = 8;
const int size_c = size_a + size_b;
int A[size_a]{5,9,22,1,5,4,7,6,8,4};
int B[size_b]{5,4,1,5,4,8,9,5};
int C[size_c]{};
cout << "Massive A:" << endl;
for (size_t i = 0; i < size_a; i++)
{
//A[i] = rand() % 101;
cout << A[i] << " ";
}
cout << endl << "Massive B:" << endl;
for (size_t i = 0; i < size_b; i++)
{
//B[i] = rand() % 101;
cout << B[i] << " ";
}

int povtor = 0;
int index_c = 0;
for (int i = 0; i < size_a; i++)
{
for (int j = 0; j < size_b; j++)
{
if (A[i] == B[j]);
{
for (int k = 0; k < size_c; k++)
{
if (C[k] == B[j])
{
povtor++;
}
}
if (povtor==0)
{
C[index_c] = B[j];
index_c++;
}
povtor = 0;
}
}
}


cout << endl << "Massive C:" << endl;
for (size_t i = 0; i < size_c; i++)
{
cout << C[i] << " ";
}
cout << endl;
system("pause");

Создать массив из 10 целых случайных чисел. Поменять местами соседние элементы массива.

srand(time(0));
const int size = 10;
int A[size]{};

for (size_t i = 0; i < size; i++)
{
A[i] = rand() % 101;
cout << A[i] << " ";
}
cout << endl;
for (size_t i = 0; i < size; i+=2)
{
A[i] += A[i+1];
A[i + 1] = A[i] - A[i + 1];
A[i] = A[i] - A[i + 1];
}
for (size_t i = 0; i < size; i++)
{
cout << A[i] << " ";
}
cout << endl;
system("pause");

Создать два массива A и B из 5 элементов. Создать третий массив C из 10 элементов, в который копируются элементы из первого и второго массива поочередно (например, С[0]=A[0], c[1]=B[0], C[2]=A[1], C[3]=B[1] и т.д.).

srand(time(0));
const int size_a = 10;
const int size_b = 5;
const int size_c = size_a + size_b;
int A[size_a]{};
int B[size_b]{};
int C[size_c]{};

for (size_t i = 0; i < size_a; i++)
{
A[i] = rand() % 101;
cout << A[i] << " ";
}
cout << endl;
for (size_t i = 0; i < size_b; i++)
{
B[i] = rand() % 101;
cout << B[i] << " ";
}
cout << endl;
int index_a = 0;
int index_b = 0;
for (size_t i = 0; i < size_c;)
{
if (index_a < size_a)
{
C[i] = A[index_a];
index_a++;
i++;
}
if (index_b < size_b)
{
C[i] = B[index_b];
index_b++;
i++;
}

}
for (size_t i = 0; i < size_c; i++)
{
cout << C[i] << " ";
}
cout << endl;
system("pause");

Написать программу, копирующую один массив в другой следующим образом: сначала копируются последовательно все элементы, большие 0, затем последовательно все элементы, равные 0, а затем последовательно все элементы, меньшие 0.

srand(time(0));
const int size_a = 20;
const int size_b = size_a;
int A[size_a]{};
int B[size_b]{};

for (size_t i = 0; i < size_a; i++)
{
A[i] = rand() % 101-50;
cout << A[i] << " ";
}
cout << endl;

cout << endl;
int index = 0;
for (size_t i = 0; i < size_b; i++)
{
if (A[i] < 0)
{
B[index] = A[i];
index++;
}
}
for (size_t i = 0; i < size_a; i++)
{
if (A[i] == 0)
{
B[index] = A[i];
index++;
}
}
for (size_t i = 0; i < size_a; i++)
{
if (A[i] > 0)
{
B[index] = A[i];
index++;
}
}
for (size_t i = 0; i < size_b; i++)
{
cout << B[i] << " ";
}
cout << endl;
system("pause");

Написать программу, копирующую последовательно элементы одного массива размером 10 элементов в 2 массива размером 5 элементов каждый (задача, обратная 18).

srand(time(0));
const int size_a = 25;
const int size_b = size_a/2;
const int size_c = size_a - size_b;
int A[size_a]{};
int B[size_b]{};
int C[size_c]{};
int index_a = 0;
cout << "Massive A:" << endl;
for (size_t i = 0; i < size_a; i++)
{
A[i] = rand() % 101;
cout << A[i] << "\t";
}
cout << endl;
for (size_t i = 0; i < size_b; i++)
{
B[i] = A[index_a];
index_a++;
}
for (size_t i = 0; i < size_c; i++)
{
C[i] = A[index_a];
index_a++;
}

cout << endl << "Massive B:" << endl;
for (size_t i = 0; i < size_b; i++)
{
cout << B[i] << "\t";
}
cout << endl << "Massive C:" << endl;
for (size_t i = 0; i < size_c; i++)
{
cout << C[i] << "\t";
}
cout << endl;
system("pause");

Вывести на экран шахматную доску, используя пробел и символ с кодом 219.

for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
if ((j % 2 == 0&&i%2==0)||(j%2!=0&&i%2!=0))
cout << char(219);
else
cout << " ";
}
cout << endl;
}
system("pause");