Форум программистов, компьютерный форум CyberForum.ru

Найти сумму заштрихованных треугольников через цикл - C++

Восстановить пароль Регистрация
 
Twoforce3
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 18
19.01.2014, 13:38     Найти сумму заштрихованных треугольников через цикл #1
В общем такая тема: у меня задачаВложение 355825
я написал код, но сдать задачу не могу, т.к нужно чтобы сумму заштрихованных треугольников находилось через цикл! помогите организовать цикл!
вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdio>
#include <cstring>
#include <conio.h>
#include <Windows.h>
#include <fstream>
#define N 5
using namespace std;
int main()
{   setlocale(LC_ALL, "russian");
    int A[N][N];
    int  sumVT=0,sumNT,i,j;
    ifstream fin("text");
    for (i=0;i<N;i++)
    {for (j=0;j<N;j++)
    fin>>A[i][j];
    }
    sumVT=A[0][1]+A[0][2]+A[0][3]+A[1][2];
    sumNT=A[3][2]+A[4][1]+A[4][2]+A[4][3];
    if(sumVT==sumNT)
    {
        cout<<"Сумма верхнего и нежнего треугольника равна"<<endl<<sumVT<<"="<<sumNT;
    }
    if(sumVT>sumNT)
    {
        cout<<"Сумма верхнего треугольника больше нижнего "<<sumVT<<">"<<sumNT<<endl;
    }
    if(sumVT<sumNT)
    {
        cout<<"Сумма нижнего треугольника больше верхнего "<<sumVT<<"<"<<sumNT<<endl;
    }
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
19.01.2014, 13:50     Найти сумму заштрихованных треугольников через цикл #2
Twoforce3,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <cstdlib>
#include <ctime>;
#include <iomanip>
using namespace std;
int main() 
{
    srand(time(0));
    const int N=5, M=5;
    int A[N][M];
    int  i,j,sum=0;
 
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            A[i][j]=rand()%2;
            cout<<A[i][j]<<" ";
        }
        cout<<endl;
    }
 
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            if (  (( (j<(M+1)/2)) && ((i>=0 && i<=j)     || (i>=N-j-1 && i<N))) || 
                  (( (j>=(M+1)/2))&& ((i>=0 && i<=N-j-1) || (i>=j && i<N)))   )
            {
            sum+=A[i][j];
 
            cout<<setw(6)<<A[i][j];
            }
            else cout<<setw(6)<<" "; 
        }
        cout<<"\n";
    }
cout<<"\nSum = "<<sum<<endl;
system("pause");
return 0;
}
Twoforce3
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 18
19.01.2014, 14:24  [ТС]     Найти сумму заштрихованных треугольников через цикл #3
Цитата Сообщение от newb_programmer Посмотреть сообщение
if ( *(( (j<(M+1)/2)) && ((i>=0 && i<=j) * * || (i>=N-j-1 && i<N))) ||
* * * * * * * * * (( (j>=(M+1)/2))&& ((i>=0 && i<=N-j-1) || (i>=j && i<N))) * )
всё супер, спасибо! не могли бы вы объяснить принцип работы условия?
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
19.01.2014, 15:00     Найти сумму заштрихованных треугольников через цикл #4
Twoforce3,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
if (
        (
            (
                (j<(M+1)/2)             //A
            )
            && 
            (
                (i>=0 && i<=j)          //B
                || 
                (i>=N-j-1 && i<N)       //С
            )
        ) 
 
        || 
 
        (
            ( 
                (j>=(M+1)/2)            //E
            )
            && 
            (
                (i>=0 && i<=N-j-1)      //F
                || 
                (i>=j && i<N)           //G
            )
        )  
    )
Миниатюры
Найти сумму заштрихованных треугольников через цикл  
Twoforce3
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 18
19.01.2014, 15:34  [ТС]     Найти сумму заштрихованных треугольников через цикл #5
ага понял, спасибо! а как посчитать сумму не общую, а только верхнего треугольника и отдельно нижнего? для того-чтобы узнать какой треугольник по сумме больше! и вывести на экран?
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
19.01.2014, 16:22     Найти сумму заштрихованных треугольников через цикл #6
Twoforce3, я код написал, но советую вам самому решить эту задачу на картинке все есть, просто подставьте нужные условия, например ( ( A && B ) || ( E && F ) )...ну эт такое если есть желание
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <cstdlib>
#include <ctime>;
#include <iomanip>
using namespace std;
int main() 
{
    srand(time(0));
    const int N=5, M=5;
    int A[N][M];
    int  i,j,sum_up=0, sum_down=0;
 
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            A[i][j]=rand()%2;
            cout<<A[i][j]<<" ";
        }
        cout<<endl;
    }
 
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            if ( (( (j<(M+1)/2)) && (i>=0 && i<=j)) || (( (j>=(M+1)/2))&& (i>=0 && i<=N-j-1)) )
                sum_up+=A[i][j];
                
            if ( ( (j<(M+1)/2) && (i>=N-j-1 && i<N) ) || ( (j>=(M+1)/2) &&  (i>=j && i<N) )  )    
                sum_down+=A[i][j];
        }
    }
 
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            if ( (( (j<(M+1)/2)) && (i>=0 && i<=j)) || (( (j>=(M+1)/2))&& (i>=0 && i<=N-j-1)) )
                cout<<setw(6)<<A[i][j];
 
            else if ( ( (j<(M+1)/2) && (i>=N-j-1 && i<N) ) || ( (j>=(M+1)/2) &&  (i>=j && i<N) )  )   
                cout<<setw(6)<<A[i][j];
 
            else cout<<setw(6)<<" "; 
        }
        cout<<"\n";
    }
 
    cout<<"\nSum up = "<<sum_up<<endl;
    cout<<"\nSum down = "<<sum_down<<endl;
 
    if (sum_up>sum_down) 
        cout<<"Sum of upper triangle is bigger!\n";
    else if (sum_up<sum_down) 
        cout<<"Sum of lower triangle is bigger!\n";
    else
        cout<<"Sum of upper and lower triangles equal!\n";
 
    system("pause");
    return 0;
}
Twoforce3
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 18
20.01.2014, 10:42  [ТС]     Найти сумму заштрихованных треугольников через цикл #7
Сижу на экзамене нужна помощь по этой лабе мне нужно объяснить что значит j>=(N+1)/2

Добавлено через 8 минут
newb_programmer, помогите прошу вас
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 11:04     Найти сумму заштрихованных треугольников через цикл
Еще ссылки по теме:

Вычислить сумму заштрихованных элементов матрицы показанных на рисунке C++
Даны стороны двух треугольников. Найти сумму их площадей и периметров. C++
C++ Найти сумму всех элементов в заштрихованных областях, включая диагональ

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ev_Hyper
 Аватар для Ev_Hyper
1807 / 1628 / 435
Регистрация: 15.12.2013
Сообщений: 5,790
20.01.2014, 11:04     Найти сумму заштрихованных треугольников через цикл #8
Цитата Сообщение от Twoforce3 Посмотреть сообщение
Сижу на экзамене нужна помощь по этой лабе мне нужно объяснить что значит j>=(N+1)/2
какая это строчка кода?
Yandex
Объявления
20.01.2014, 11:04     Найти сумму заштрихованных треугольников через цикл
Ответ Создать тему
Опции темы

Текущее время: 10:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru