Подробно допишешь сам, чтобы было красиво читаемо 1. Когда цикл находится внутри цикла 2. Самый первый исполняемый цикл(внутри которого есть ещё циклы или цикл). 3. То что внутри внешнего цикла. 4. Вот смотри, внешний цикл(например - for) начинает работу, представим что у внешнего цикла переменная-счётчик i, а у внутреннего j. Первая итерация идёт... i = 1 и начинается работа внутруннего цикла и счетчик j проходится от 1 до 10(Почему 10? Ну просто я захотел, это количество итерации которое должно выполнить цикл) И ЭТО ВСЕГО ОДНА ИТЕРАЦИЯ ВНЕШНЕГО ЦИКЛА, В ТОТ МОМЕНТ КОГДА ВНУТРЕННИЙ ВЫПОЛНИЛСЯ ПОЛНОСТЬЮ(в зависимости от количества итерации внешнего цикла будет зависеть сколько раз будет выполнятся внутренний цикл)
В 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; } }