Составить блок-схемы решения : 1). Формула разности квадратов. 2). Проверить: не равен ли нулю знаменатель, вычислить дробь. 3). Нахождение факториала числа n.
Иван: французский, китайский. Антон: немецкий, японский. Пётр: шведский, греческий. Поясняю на сколько это возможно. 2) Антон не знает шведский и французский. 3)Пётр (он самый высокий - пункт 1) не знает французский. Значит, французский - Иван. 4) Пётр не знает яп. и кит. 5) Антон не знает кит. и греч. 4),5) => китайский - Иван. С Иваном разобрались... 2),5) => Антон не знает греческий и шведский (фр. и кит. уже у Ивана). Значит, их знает Пётр. Антону, в таком случае, достаются немецкий и японский. Надеюсь, понятно.
#include <iostream>
using namespace std;
int main()
{
int n; cout << "розмір квадратної матриці = ";
cin >> n;
int mt[n][n]; // оголошення матриці розмірністю n*m, де n = m = n
srand(time(NULL));
cout << "була: " << endl;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
mt[i][j]=rand()%21-10; // генерація випадкових чисел в матриці
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout << " " << mt[i][j]; // вивід матриці
cout << endl;
}
cout << endl << "стала: " << endl;
for (int i = 0; i < n; i++) //індексація масивів у C++ завжди з 0, тому ДО n
{
int* temp=new int[n]; // видозмінити матрицю (двовимірний масив) можна за до одновимірного динамічного масиву temp[n] або змінної temp
temp[i] = mt[n-1][i]; // записати ("покласти") в масив temp "копію" останнього (n-1) рядка матриці
mt[n-1][i] = mt[i][0]; // останній (n-1) рядок матриці обернути на перший (нульовий) стовпець матриці
mt[i][0] = temp[i]; // перший (нульовий) стовпець обернути на «копію» останнього (n-1) рядка, яка міститься в допоміжному масиві temp (зчитати з temp)
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout << " " << mt[i][j]; // вивід видозміненої матриці
cout << endl;
}
return 0; }