22 февраля 2016 г.

Создать массив из 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");