Дан двумерный массив, который содердит не более 10 строк и 10 столбцов. найти сумму тех элементов, которые больше элемента стоящего на главной диагонали в данной строке.
Input n dim a(n,n) dim b(n) for i=1 to n for j=1 to n a(i,j)=int(rnd*100) next j next i for i=1 to n b(i)=a(i,i) next i s=0: f=1 for i=1 to n for j=1 to n if a(i,j)>b(f) then s=s+a(i,j) next j f=f+1 next i print s
В C++ #include <iostream> #include <iomanip> #include <ctime> int main() { using namespace std;
const int N = 5; const int M = 5;
//Создаём массив и как-нибудь заполняем 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; }
//Меняем местами 2ю и 3ю строки int temp = 0; for (int j = 0; j < M; ++j) { temp = A[1][j]; A[1][j] = A[2][j]; A[2][j] = temp; }
//Выводим полученный массив на экран cout << "\n\n"; for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) cout << setw(4) << A[i][j]; cout << endl; }
В 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; } }
dim a(n,n)
dim b(n)
for i=1 to n
for j=1 to n
a(i,j)=int(rnd*100)
next j
next i
for i=1 to n
b(i)=a(i,i)
next i
s=0: f=1
for i=1 to n
for j=1 to n
if a(i,j)>b(f) then s=s+a(i,j)
next j
f=f+1
next i
print s