В C++ #include <iostream> #include <iomanip> #include <ctime> int main() { using namespace std;
const int N = 5; const int M = 6;
int A[N][M];
//Как-нибудь заполняем массив srand(time(0)); for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) A[i][j] = rand() % (N * M) + 1; for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) cout << setw(4) << A[i][j]; cout << endl; }
//Подсчитываем сумму всех элементов массива int sum = 0;
for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) sum += A[i][j];
//Вычитаем из полученной суммы повторяющиеся элементы for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) { bool flag = false; for (int i1 = 0; i1 < N; ++i1) { for (int j1 = 0; j1 < M; ++j1) if (!(i == i1 && j == j1)) if (A[i][j] == A[i1][j1]) { sum -= A[i][j]; flag = true; break; } if (flag) break; } }
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
using namespace std;
const int N = 5;
const int M = 6;
int A[N][M];
//Как-нибудь заполняем массив
srand(time(0));
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
A[i][j] = rand() % (N * M) + 1;
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
cout << setw(4) << A[i][j];
cout << endl;
}
//Подсчитываем сумму всех элементов массива
int sum = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
sum += A[i][j];
//Вычитаем из полученной суммы повторяющиеся элементы
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
{
bool flag = false;
for (int i1 = 0; i1 < N; ++i1)
{
for (int j1 = 0; j1 < M; ++j1)
if (!(i == i1 && j == j1))
if (A[i][j] == A[i1][j1])
{
sum -= A[i][j];
flag = true;
break;
}
if (flag)
break;
}
}
cout << "Sum of different: " << sum << endl;
return 0;
}