С++ Главная И Побочная Диагоналии

Тема в разделе "Общие вопросы по С и С++", создана пользователем farm95, 16 ноя 2013.

  1. farm95

    farm95 New Member

    Регистрация:
    16 ноя 2013
    Сообщения:
    1
    Симпатии:
    0
    Приветствую всех!

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

    Код (C++):
    #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;
    }
    Эту задачу я смог решить

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

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Код (C++):
    for (int i = 0; i < n / 2; ++i)
    for (int j = 0; j < i; ++j)
    s += a[i][j];

    for (int i = n / 2; i < n; ++i)
    for (int j = 0; j < n; ++j)
    s += a[i][j]
    суть это отражает, но ляпы могут быть
     
Загрузка...

Поделиться этой страницей