ЯП: С++
#include <iostream>
int main() {
const int N = 5;
int arr[N][N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}; // создаем и заполняем двумерный массив 5x5
for (int i = 0; i < N; i++) // выводим на экран 2-мерный массив;
{
for (int j = 0; j < N; j++)
std::cout << arr[i][j] << "\t";
}
std::cout << std::endl;
std::cout << "Result #1: ";
for (int i = 0; i < N; i++) // вывод в консоль главной диагонали
std::cout << arr[i][i] << "\t";
std::cout << "\nResult #2: ";
for (int i = 0; i < N; i++) // вывод в консоль побочной диагонали
std::cout << arr[i][N - 1 - i] << "\t";
return 0;
Объяснение:
ЯП: С++
#include <iostream>
int main() {
const int N = 5;
int arr[N][N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}; // создаем и заполняем двумерный массив 5x5
for (int i = 0; i < N; i++) // выводим на экран 2-мерный массив;
{
for (int j = 0; j < N; j++)
{
std::cout << arr[i][j] << "\t";
}
std::cout << std::endl;
}
std::cout << "Result #1: ";
for (int i = 0; i < N; i++) // вывод в консоль главной диагонали
{
std::cout << arr[i][i] << "\t";
}
std::cout << "\nResult #2: ";
for (int i = 0; i < N; i++) // вывод в консоль побочной диагонали
{
std::cout << arr[i][N - 1 - i] << "\t";
}
return 0;
}
Объяснение:
c := 0; // начальное значение счётчика
for i := 1 to 9 do // цикл по i
if A[i - 1] < A[i] then begin // если текущий элемент больше предыдущего
c := c + 1; // то увеличиваем счётчик на 1
t := A[i]; // и меняем текущий элемент местами с предыдущим
A[i] := A[i - 1];
A[i - 1] := t
end;
Последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
Итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 ОБМЕН
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 ОБМЕН
3) 9 7 6 2 1 5 0 3 4 8 ОК
4) 9 7 6 2 1 5 0 3 4 8 ОК
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 ОБМЕН
6) 9 7 6 2 5 1 0 3 4 8 ОК
7, 8, 9) Ноль будет "всплывать" в конец, 3 ОБМЕНА
Всего будет 6 обменов, c = 6.