Показаны сообщения с ярлыком массивы. Показать все сообщения
Показаны сообщения с ярлыком массивы. Показать все сообщения

24 апреля 2016 г.

Вывести одномерный массив по диагонали на экран буквой 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");

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

Написать программу, копирующую последовательно элементы одного массива размером 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");

Написать программу, копирующую последовательно элементы 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");

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

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");

Массив размером 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");

Поместить в одномерный массив числа от 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");

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

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");

Отсортируйте по невозрастанию методом "вставками" одномерный вещественный массив, заданный случайными числами на промежутке [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");

Отсортируйте по неубыванию методом "пузырька" одномерный целочисленный массив, заданный случайными числами на промежутке [-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");

22 апреля 2016 г.

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

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

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");

21 апреля 2016 г.

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