Дан двумерный массив целых чисел. Вставить в него: а) строку из нулей перед всеми строками, в которых количество положительных элементов равно количеству отрицательных;
б) столбец из чисел 10 перед всеми столбцами, в которых количество положительных элементов больше количества отрицательных.
программа выводит только количество положительных и отрицательных элементов на каждой строке.
#include
#include
#include
#include
using namespace std;
int main() {
srand((int) time(0));
int N, M, count = 0;
cout << "N=";
cin >> N;
cout << "M=";
cin >> M;
double **a = new double *[N];
for (int i = 0; i < N; i++)
a[i] = new double[M];
for (int i = 0; i < N; i++) {
count = 0;
for (int j = 0; j < M; j++) {
a[i][j] = rand() % 19 - 9;
if (a[i][j] < 0.) count++;
cout << setw(2) << a[i][j] << " ";
}
cout << " negative: " << count << "\n";
}
for (int i = 0; i < N; i++) {
count = 0;
for (int j = 0; j < M; j++) {
if (a[i][j] > 0.) count++;
}
cout << " positive: " << count << "\n";
}
return 0;
}
procedure PrintMatrix(a: array[,] of integer);
begin
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
begin
writeln;
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
write(a[i, j], ' ');
end;
writeln;
end;
begin
var a := MatrixRandom(9, 9, 10, 99);
PrintMatrix(a);
var i := (a.GetLowerBound(0) + a.GetUpperBound(0)) div 2 + (a.GetLowerBound(0) + a.GetUpperBound(0)) mod 2;
var j := (a.GetLowerBound(1) + a.GetUpperBound(1)) div 2 + (a.GetLowerBound(1) + a.GetUpperBound(1)) mod 2;
writeln('A[', i, ', ', j, '] = ', a[i, j]);
end.
#include <iomanip>
int main()
{
using namespace std;
const int N = 4;
const int M = 4;
int Y[N][M];
//как-нибудь заполняем матрицу
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
Y[i][j] = (i + 1) * (j + 1);
//выведем её на экран
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
cout << setw(3) << Y[i][j];
cout << endl;
}
//находим сумму элементов побочной диагонали
int S = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
if (j == M - 1 - i)
S = S + Y[i][j];
cout << "Sum of adverse diagonal of array: " << S << endl;
//находим сумму всех элементов матрицы
int Sum = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
Sum = Sum + Y[i][j];
cout << "Sum of all elements of array: " << Sum << endl;
return 0;
}