Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > С++ главная и побочная диагоналии


Автор: farm95 16.11.2013, 17:06
Приветствую всех!

Есть задача. Дан двумерный массив целых чисел NxN.  Найти сумму элементов находящихся в закрашенной области.

user posted image

Допустим матрица у нас будет 5х5.

Код

#include <vcl.h>
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main ()
{ int s=0, m[5][5], srand(time(0));

for (int i=0; i<5; i++)
{
for (int k=0; k<5; k++)
{ m[i][k]=rand()%10;
cout<<m[i][k]<<" ";
}
cout<<"\n";
}

for (int i=0; i<5; i++)
{
for (int k=0; k<5; k++)

if((i>k)&&(i+k<5-1))
s=s+m[i][k];
}


for (int i=0; i<5; i++)
{
for (int k=0; k<5; k++)
if((i<k)&&(i+k>5-1))
s=s+m[i][k];
}
cout<<"s="<<s;

int end;
cin>>end;
return 0;
}


Эту задачу я смог решить


А вот другая задача. Вопрос такой же, но закрашенная область другая. 

user posted image

Вот тут подскажите пожалуйста как решить это задачу. Как тут быть? Найти сначала сумму ниже главной? А как потом другую часть найти?

Автор: darkart 16.11.2013, 20:19
Сумма элементов верхнего треугольника и нижнего прямоугольника:
Код

#include <iostream>
#include <ctime>

using namespace std;

int main()
{
    const int MATRIX_DIM = 5;

    int matrix[ MATRIX_DIM ][ MATRIX_DIM ];

    srand( time( 0 ) );

    cout << "Source matrix:" << endl;

    for( int i = 0; i < MATRIX_DIM; i++ )
    {
        for( int j = 0; j < MATRIX_DIM; j++ )
        {
            matrix[ i ][ j ] = rand() % 10;
            cout << matrix[ i ][ j ] << ' ';
        }
        cout << endl;
    }
            
    int sum = 0;

    for( int i = 0; i < MATRIX_DIM / 2; i++ )
        for( int j = 0; j <= i; j++ )
            sum += matrix[ i ][ j ];

    for( int i = MATRIX_DIM / 2; i < MATRIX_DIM; i++ )
        for( int j = 0; j < MATRIX_DIM; j++ )
            sum += matrix[ i ][ j ];

    cout << "Sum = " << sum << endl;

    system( "pause" );

    return 0;
}

Автор: akizelokro 18.11.2013, 03:32
Ну, а ты думал, что будет что-то сложнее чтоли?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)