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

Rpp

New member
07.06.2015
1
0
#1
Помогите плиз ее исправить!
Дана целочисленная квадратная матрица. Определить :
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

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