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

Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент - C++

Восстановить пароль Регистрация
 
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
06.12.2012, 20:17     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bool bFlag;
for (int i=0; i < M; i++){
    bFlag=false;
    for (int j=0; j < N; j++){
                if(A[i][j]<0){
            bFlag=true; break;
        }
    }
    if (bFlag){
        for (int j=0; j < N; j++)
            sum +=A[i][j];
    }
}
 printf("\nсуммa элементов в тех строках, которые содержат хотя бы один отрицательный элемент =%d",i,sum);
 
}
Добавлено через 34 секунды
сумму одной строки у меня он считает но помогите сумму всех строк

Добавлено через 10 минут
помогите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 20:17     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент
Посмотрите здесь:

C++ Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент
C++ Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент
C++ Найти сумму элементов в тех строках которые, содержат хотя бы один отрицательный элемент
Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент C++
C++ Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
06.12.2012, 21:04     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент #2
ты находишь отрицательный элемент и выходишь из цыкла ключевым словом break;
считаешь сумму этой строки и назад не возвращаешся...)
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
06.12.2012, 21:16  [ТС]     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент #3
тоесть где мне поставить break

Добавлено через 3 минуты
C++
1
sum +=A[i][j];break;
то у меня все равно он будет считать строчку например матрица три на три и во втрой и в третьей у меня есть отрицательные элементы тоесть у меня он будет считать сумму второй строки
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
06.12.2012, 21:47     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент #4
я бы так сделал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for (int i=0; i < M; i++)
    {
        if(bFlag)
        {
            count++;
            cout<<"sum="<<sum<<endl;
        }
        bFlag=false;
        sum=0;
        for (int j=0; j < N; j++)
        {
            if(bFlag)
            {
                sum+=A[i][j];
            }
            if(A[i][j]<0 && !bFlag)
            {
                j=-1;
                bFlag=true;
            }
        }
    }
    printf("\ncount =%d",count);
Добавлено через 6 минут
в соседней ветке тоже такое же задание, там еще одно правильное решение...)

Добавлено через 9 минут
упсик, забыл про последнюю итерацию...)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    for (int i=0; i < 3; i++)
    {
        bFlag=false;
        sum=0;
        for (int j=0; j < 3; j++)
        {
            if(bFlag)
            {
                sum+=A[i][j];
            }
            if(A[i][j]<0 && !bFlag)
            {
                j=-1;
                bFlag=true;
            }
        }
        if(bFlag)
        {
            count++;
            cout<<"sum="<<sum<<endl;
        }
    }
    cout<<"count="<<count;
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
06.12.2012, 22:00     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент #5
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
#include <iostream>
#include <algorithm>
#include <numeric>
#include <iterator>
#include <random>
#include <cstddef>
#include <vector>
 
 
int main()
{
    std::size_t M, N;
    std::cin >> M >> N;
    std::vector <std::vector<int> > A (M, std::vector<int> (N));
    std::random_device rd;
    std::mt19937 gen (rd());
    std::uniform_int_distribution<int> uid (-10, 50);
    int sum = 0;
    auto print_v = [](const std::vector<int>& v)
    {
        std::copy(v.begin(), v.end(), std::ostream_iterator<int> (std::cout, " "));
        std::cout << std::endl;
    };
    for (auto &v : A)
    {
        std::generate(v.begin(), v.begin() + N, [&uid, &gen] { return uid(gen); } );
        print_v(v);
        if (std::any_of(v.begin(), v.end(), [](const int x) { return x < 0; } ) )
            sum += std::accumulate(v.begin(), v.end(), 0);
    }
    std::cout << "\nSum: " << sum;
}
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
06.12.2012, 22:06     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент #6
Цитата Сообщение от MrGluck Посмотреть сообщение
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
#include <iostream>
#include <algorithm>
#include <numeric>
#include <iterator>
#include <random>
#include <cstddef>
#include <vector>
 
 
int main()
{
    std::size_t M, N;
    std::cin >> M >> N;
    std::vector <std::vector<int> > A (M, std::vector<int> (N));
    std::random_device rd;
    std::mt19937 gen (rd());
    std::uniform_int_distribution<int> uid (-10, 50);
    int sum = 0;
    auto print_v = [](const std::vector<int>& v)
    {
        std::copy(v.begin(), v.end(), std::ostream_iterator<int> (std::cout, " "));
        std::cout << std::endl;
    };
    for (auto &v : A)
    {
        std::generate(v.begin(), v.begin() + N, [&uid, &gen] { return uid(gen); } );
        print_v(v);
        if (std::any_of(v.begin(), v.end(), [](const int x) { return x < 0; } ) )
            sum += std::accumulate(v.begin(), v.end(), 0);
    }
    std::cout << "\nSum: " << sum;
}
так не интересно...)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 22:10     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент
Еще ссылки по теме:

C++ Найти сумму элементов матрицы в тех строках, которые содержат хотя бы один отрицательный элемент
Массивы. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент C++
C++ Найти сумму элементов квадратной матрицы в тех строках, которые содержат хотя бы один отрицательный элемент

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
06.12.2012, 22:10     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент #7
Цитата Сообщение от NeonLost Посмотреть сообщение
так не интересно...)

Не по теме:

а мне как раз через массивы не интересно


Но мб суть поймешь.
Yandex
Объявления
06.12.2012, 22:10     Найти сумму всех элементов в тех строках, которые содержат хотя бы один отрицательный элемент
Ответ Создать тему

Метки
которые, отрицательный, содержат, строк, строках, сумму, тех, элемент, элементов
Опции темы

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