Еее11111111
17.04.2022 20:27

Петя недавно узнал, что такое магический квадрат и решил попробовать написать программу, которая будет составлять квадратную таблицу размером 3х3, состоящую из произвольных целых чисел, в которой сумма элементов в каждой строке и в каждом столбце одна и та же. Но Петя - начинающий программист, поэтому он допустил в своей программе ошибку. Программа Пети выводит квадратную матрицу размером 3х3 такую, что если в ней обменять значения ровно двух ячеек, то таблица станет правильной и будет удовлетворять нужному условию.

Например, если в таблице, которую выдала программа Пети

8 1 6
3 2 7
4 9 5
обменять местами числа 2 и 5, то получится правильная таблица

8 1 6
3 5 7
4 9 2
в которой сумма чисел в каждой строке и в каждом столбце одна и та же и равна 15.

Вам будет дана квадратная таблица размера 3х3, заполненная целыми числами. Обменяйте в этой таблице значения ровно двух ячеек так, чтобы сумма чисел в каждой строке и каждом столбце получившейся таблицы была одна и та же.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
наташа978
13.08.2020 18:12
#include <iostream>
using namespace std;

int main()
{
int n, k;
cout << "n = ";
cin >> n;
cout << endl;
int a[n];
for (int i = 0; i < n; i++) {
cout << "a[" << i << "] = ";
cin >> a[i];
cout << endl;
}
cout << "k = ";
cin >> k;
cout << endl;
int c = 0;
for (int i = 0; i < n; i++) {
if (a[i] % 10 == k) c++;
}

int ret[c], pos = 0;
for (int i = 0; i < n; i++) {
if (a[i] % 10 == k) {
ret[pos] = a[i];
pos++;
}
}
cout << "Результат:" << endl;
for (int i = 0; i < c; i++) {
cout << ret[i] << ' ';
}
return 0;
}
0,0(0 оценок)
Ответ:
Обжора228
13.08.2020 18:12
#include<iostream>
#include<cstdlib>
#include<ctime>

#define abs(x) ((x)<0 ? -(x) : (x))
using namespace std;
int main()
{
    srand(time(0));
    int n, k, m = 0;
    cout << "n = ", cin >> n;
    
    int A[n], B[n];
    cout <<"A("<<n<<"):";
    for(int i = 0; i < n; i++)
        cout <<" "<< (A[i] = rand() % (n*2+1) -n);
    
    cout << "\nk = ", cin >> k;
    
    for(int i = 0; i < n; i++)
        if (abs(A[i]) % 10 == k) B[m++] = A[i];
    
    cout <<"B("<<m<<"):";
    for(int i = 0; i < m; i++)
        cout <<" "<< B[i];
    return 0;
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота