• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите исправить двумерные массивы

  • Автор темы Rpp
  • Дата начала
R

Rpp

Помогите плиз ее исправить!
Дана целочисленная квадратная матрица. Определить :
1 сумму элементов в тех столбцах , которые не содержат отрицательных элементов;
2 минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
C++:
#include <iostream>
 
using namespace std;
 
void main()
 
{
 
setlocale(LC_ALL, ".1251");
 
int a[100][100], b[100], k;
 
cout << "Введите размерность квадратной матрицы= ";
 
cin >> k;
 
for (int i = 0; i < k; i++)
 
{
 
for (int j = 0; j < k; j++)
 
{
 
a[j] = rand() % 19 - 9;
 
}
 
}
 
//Вывод
 
for (int i = 0; i < k; i++)
 
{
 
cout << "\n";
 
for (int j = 0; j < k; j++)
 
{
 
cout << a[j] << " ";
 
}
 
}
 
//Сумму элементов в тех строках, которые не содержат отрицательных элементов
 
cout << "\n";
 
int sum;
 
for (int i = 0; i < k; i++)
 
{
 
sum = 0;
 
for (int j = 0; j < k; j++)
 
{
 
if (a[j]>0)
 
{
 
sum = sum + a[j];
 
}
 
else {
 
break;
 
}
 
}
 
cout << "\nСумма элементов в строке " << i + 1 << "= " << sum;
 
}
 
//Минимум среди сумм модулей элементов диагоналей, паралельных побочной диагонали матрицы.
 
cout << "\n";
 
for (int i = 0; i < k; ++i)
 
{
 
int index = i;
 
sum = 0;
 
for (int j = k-1; j > -1; --j)
 
{
 
cout << "Элемент[" << index+1 << "][" << j+1 << "]";
 
sum += a[index++][j];
 
if (index == k)
 
index = 0;
 
if (j != 0)
 
cout << " + ";
 
}
 
b = abs(sum);
 
cout << " = " << sum << "\n";
 
}
 
int min = b[0];
 
sum = 0;
 
for (int i = 1; i < k; ++i)
 
{
 
if (min > b)
 
{
 
min = b;
 
sum = b;
 
}
 
else
 
{
 
sum = min;
 
}
 
}
 
cout << "\n";
 
cout << "Диагональ имеет min по модулю сумму=" << sum << endl;
 
cout << "\n";
 
system("PAUSE");
 
}
 
Последнее редактирование:
R

rrrFer

Она работает неправильно? - какой из пунктов? - на каких примерах вы это установили?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!