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

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

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 20. Определить сумму элементов массива.

srand(time(0));

const int columns = 5;

const int lines = 5;

int res = 0;



int A[lines][columns]{};

cout << "Massive A:" << endl;

for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) {
A[i][j] = rand() % 100;
cout.width(3);
cout << A[i][j];
res += A[i][j];
}
cout << endl;

}

cout << endl << "Summ: " << res << endl;

system("pause");

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 20. Определить сумму элементов, расположенных на главной диагонали, а также сумму элементов, расположенных на побочной диагонали.

srand(time(0));

const int columns = 5;

const int lines = 5;

int glav_diag = 0;

int poboch_diag = 0;




int A[lines][columns]{};

cout << "Massive A:" << endl;

for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) {
A[i][j] = rand() % 100;
cout.width(3);
cout << A[i][j];
if (i == j)
glav_diag += A[i][j];
if (j == columns - i - 1)
poboch_diag += A[i][j];
}
cout << endl;

}

cout << endl << "Summ glav_diag: " << glav_diag << endl

<< "Summ poboch_diag: " << poboch_diag << endl;

system("pause");

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от -100 до 100. Определить минимальный и максимальный элемент.

srand(time(0));

const int columns = 5;

const int lines = 5;




int A[lines][columns]{};

cout << "Massive A:" << endl;

for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) {
A[i][j] = rand() % 201-100;
cout.width(4);
cout << A[i][j];
}
cout << endl;

}




int max = A[0][0];

int min = A[0][0];

for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) {
if (max < A[i][j])
max = A[i][j];
if (min > A[i][j])
min = A[i][j];
}
cout << endl;

}




cout << endl << "MAX: " << max << endl

<< "MIN: " << min << endl;

system("pause");

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от - 5 до 5. Определить количество положительных, отрицательных и нулевых элементов.

srand(time(0));

const int columns = 5;

const int lines = 5;

int polozh = 0;

int otric = 0;




int A[lines][columns]{};

cout << "Massive A:" << endl;

for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) {
A[i][j] = rand() % 11 - 5;
cout.width(4);
cout << A[i][j];
if (A[i][j]>0)
polozh++;
if (A[i][j] < 0)
otric++;

}
cout << endl;

}




cout << endl << "+: " << polozh << endl

<< "-: " << otric << endl;

system("pause");

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 20. Определить сумму по каждой строке массива.

srand(time(0));

const int columns = 5;

const int lines = 5;

int res = 0;




int A[lines][columns]{};

cout << "Massive A:" << endl;

for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) {
A[i][j] = rand() % 21;
cout.width(4);
cout << A[i][j];
res += A[i][j];
}
cout << "\t SUMM=" << res << endl;
res = 0;

}




system("pause");

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100. Обменять местами элементы массива, расположенные симметрично относительно главной диагонали.

srand(time(0));

const int size = 5;

int A[size][size]{};

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

for (size_t j = 0; j < size; j++) {
A[i][j] = rand() % 100;
cout.width(3);
cout << A[i][j];
}
cout << endl;

}

cout << endl << endl;




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

{

for (size_t j = 0; j < size; j++)
{
if (j > i) {
int tmp = A[i][j];
A[i][j] = A[j][i];
A[j][i] = tmp;
}
}

}




cout << "Result:" << endl;

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

for (size_t j = 0; j < size; j++) {
cout.width(3);
cout << A[i][j];
}
cout << endl;

}

system("pause");

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от -100 до 100. Определить сумму элементов массива, расположенных между минимальным и максимальным элементами.

srand(time(0));

const int size = 5;

int A[size][size]{};

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

for (size_t j = 0; j < size; j++) {
A[i][j] = rand() % 100;
cout.width(3);
cout << A[i][j];
}
cout << endl;

}

cout << endl << endl;

int summ = 0;

int min = A[0][0];

int max = A[0][0];

int index_min_x, index_min_y;

int index_max_x, index_max_y;




Находим минимальное и максимальное значение и запоминаем координаты

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

for (size_t j = 0; j < size; j++) {
if (min > A[i][j]) {
min = A[i][j];
index_min_x = j;
index_min_y = i;
}
if (max < A[i][j]) {
max = A[i][j];
index_max_x = j;
index_max_y = i;
}
}

}




считаем количество элементов





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

for (size_t j = 0; j < size; j++) {
cout.width(3);
cout << A[i][j];
}
cout << endl;

}

cout << endl << endl;

cout << "Result:" << endl

<< "index_min_x = " << index_min_x << endl
<< "index_min_y = " << index_min_y << endl
<< "index_max_x = " << index_max_x << endl
<< "index_max_y = " << index_max_y << endl;

system("pause");

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100. Поменять местами последний столбец массива со столбцом, в котором находится максимальный элемент.

srand(time(0));

const int size = 5;

int A[size][size]{};

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

for (size_t j = 0; j < size; j++) {
A[i][j] = rand() % 100;
cout.width(3);
cout << A[i][j];
}
cout << endl;

}

cout << endl << endl;

int max = A[0][0];

int index_max_y;




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

for (size_t j = 0; j < size; j++) {
if (max < A[i][j]) {
max = A[i][j];
index_max_y = j;
}
}

}




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

for (size_t j = 0; j < size; j++) {
if (j == index_max_y) {
int tmp = A[i][j];
A[i][j] = A[i][size - 1];
A[i][size - 1] = tmp;
}
}

}




cout << "Result:" << endl;

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

for (size_t j = 0; j < size; j++) {
cout.width(3);
cout << A[i][j];
}
cout << endl;

}

system("pause");