В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
milerowskaya
milerowskaya
18.06.2022 01:53 •  Информатика

Дан двумерный массив целых чисел. Вставить в него: а) строку из нулей перед всеми строками, в которых количество положительных элементов равно количеству отрицательных;
б) столбец из чисел 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;
}

Показать ответ
Ответ:
valera212105
valera212105
29.06.2021 07:03
//PascalABC.NET 3.1 сборка 1219
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.
0,0(0 оценок)
Ответ:
Соня121103
Соня121103
19.05.2023 13:12
#include <iostream>
#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;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота