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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
PtahaOne
0 / 0 / 0
Регистрация: 04.10.2011
Сообщений: 33
#1

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

16.01.2012, 19:42. Просмотров 325. Ответов 3
Метки нет (Все метки)

Добрый вечер всем.
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 <stdlib.h>
using namespace std;
int main()
{
        const int m=4;
        const int n=4;
        int i,j;
        int sum,k=0,min=0;
        int Matrix[n][m];
 
        
        for(i = 0;i < n;++i)
        {
                for(int j = 0;j < m;++j)
                {
                        Matrix[i][j] = rand()%9-5;
                        cout<<Matrix[i][j]<<' ';
                }
                cout<<endl;
        }
        cout<<endl;
 
        for (i=n; i>0; i--)
        {
                sum = 0;
                for (j=0; j<m-i+1; j++)
                        sum += Matrix[n-i-j][j];
                k++;
                cout<<"sum "<<k<<" = "<<sum<<endl;
 
                if(sum < min || min == 0)
                        min=sum;
        }
 
        for (i=1; i<n; i++)
        {
                sum = 0;
                for (j=n-1; j>=i; j--)
                        sum += Matrix[n-1+i-j][j];
                k++;
                cout<<"sum "<<k<<" = "<<sum<<endl;
 
                if(sum < min || min == 0)
                        min=sum;
        }
 
        cout<<"\nMinimum = "<<min<<endl;
        for(j=0;j<n;j++)
    { int sum=0;
        for(int i=0;i<n;i++)
            {
                sum+=Matrix[i][j];
                if(Matrix[i][j]<0);
            }
        
            {
                cout<<"Summa "<<j+1<<" stolbca = "<<sum<<endl;
            }
    }
        return 0;
}
Как сделать так чтобы программа не брала побочную диагональ?(препод сказал, что прямая не может быть сама себе параллельна...идиот)
Вот этот кусочек программы
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
for (i=n; i>0; i--)
        {
                sum = 0;
                for (j=0; j<m-i+1; j++)
                        sum += Matrix[n-i-j][j];
                k++;
                cout<<"sum "<<k<<" = "<<sum<<endl;
 
                if(sum < min || min == 0)
                        min=sum;
        }
 
        for (i=1; i<n; i++)
        {
                sum = 0;
                for (j=n-1; j>=i; j--)
                        sum += Matrix[n-1+i-j][j];
                k++;
                cout<<"sum "<<k<<" = "<<sum<<endl;
 
                if(sum < min || min == 0)
                        min=sum;
        }
 
        cout<<"\nMinimum = "<<min<<endl;
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2012, 19:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму элементов столбцов матрицы, не содержащих отрицательных элементов (C++):

Найти сумму элементов заданной матрицы в столбцах не содержащих отрицательных элементов - C++
Помогите написать код! Задача: Дана целочисленная квадратная матрица. Определить сумму элементов в тех столбцах, которые не...

Определить сумму элементов в столбцах матрицы не содержащих отрицательных элементов - C++
дана целочисленная квадратная матрица.Определить: 1)сумму элементов в тез столбцах,которые не содержат отрицательных элементов; ...

В квадратной целочисленной матрице найти сумму элементов в столбцах, не содержащих отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов. ...

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

Найти произведение элементов в строках матрицы не содержащих отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить: произведение элементов в тех строках, которые не содержат отрицательных элементов;

Найти номер последнего из ее столбцов, содержащих равное количество положительных и отрицательных элементов - C++
#include &lt;iostream&gt; using namespace std; int main() { int n, m, h, s, j, i, a; cout &lt;&lt; &quot;n = &quot;; cin &gt;&gt; n; ...

3
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
16.01.2012, 20:04 #2
Цитата Сообщение от PtahaOne Посмотреть сообщение
Как сделать так чтобы программа не брала побочную диагональ?
Формула побочной диагоняли - arr[i][size - i - 1]
Если вы об этом. Можно двумя циклами до и после побочной диагонали, тогда в каждом цикле не будет ненужной проверки.

Лучше задание скажите.
0
PtahaOne
0 / 0 / 0
Регистрация: 04.10.2011
Сообщений: 33
16.01.2012, 20:15  [ТС] #3
Вот...
0
Миниатюры
Найти сумму элементов столбцов матрицы, не содержащих отрицательных элементов  
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
16.01.2012, 21:10 #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
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <limits>
#include <iomanip>
#include <algorithm>
 
int main()
{
    const int size = 5;
    const int arr[size][size] = { { 9,   2,  3,  4,  5 },
                                  { 6,   7,  8,  9,  0 },
                                  { -1, -2, -3, -4, -5 },
                                  { -6, -7, -8, -9,  0 },
                                  { 2,   4,  6,  8, 10 } };
    int min = std::numeric_limits<int>::max();
    for(int i = 0; i < size; ++i)
    {
        for(int j = 0; j < size; ++j)
            std::cout << std::setw(4) << arr[i][j];
        std::cout << std::endl;
    }
    for(int i = 0; i < size - 1; ++i)
    {
        int sum = 0;
        for(int rw = 0, cl = i; cl >= 0; ++rw, --cl)
            sum += std::abs(arr[rw][cl]);
        if(sum < min)
            min = sum;
        sum = 0;
        for(int rw = size - i - 1, cl = size - 1; rw < size; ++rw, --cl)
            sum += std::abs(arr[rw][cl]);
        if(sum < min)
            min = sum;
    }
    std::cout << min << std::endl;
    return 0;
}
1
16.01.2012, 21:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2012, 21:10
Привет! Вот еще темы с ответами:

Найти наименьшую из сумм элементов строк матрицы и сумму наименьших элементов столбцов - C++
Дана вещественная матрица A размером 5*4. Найти наименьшую из сумм элементов строк матрицы и сумму наименьших элементов столбцов

Найти сумму элементов в тех строках матрицы, которые не содержат отрицательных элементов - C++
Доброго времени суток, подскажите как написать код динамическим массивом. Дана целочисленная прямоугольная матрица. Определить: 1....

Найти сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить: 1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; ...

Найти сумму нечетных элементов 3 столбца и произведение отрицательных кратных 3 элементов 2-ой строки матрицы - C++
Найти сумму нечетных элементов 3-го столбца и произведение отрицательных кратных 3 элементов 2-ой строки матрицы С(6;6) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru