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

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

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

В матрице найти максимум среди сумм элементов диагоналей, параллельных главной диагонали - C++

13.05.2017, 19:50. Просмотров 219. Ответов 1
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста, вот задачка:
1) Найти максимальную сумму среди сумм элементов диагоналей, параллельных главной диагонали
2) Найти минимальную сумму среди сумм элементов диагоналей, параллельных побочной диагонали

тут есть код, но он не совсем правильный(тут наоборот)))
и надо сделать чтоб размер массива я вводил сам а массив генерился рандомно.
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
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    const short n(5), m(8);
    int mas[n][n] = {{0, 1, 2, 3, 4},
                     {1, 2, 3, 4, 5},
                     {2, 3, 4, 5, 6},
                     {3, 4, 5, 6, 7},
                     {4, 5, 6, 7, 8}};
 
    short i, j, k;
    for(i = 0; i < n; ++i, std::cout<<std::endl)
        for(j = 0; j < n; ++j, std::cout<<' ')
            std::cout<<mas[i][j];
 
    int sum[m] = {0, 0, 0, 0, 0, 0, 0, 0};
 
    int max(INT_MIN);
 
    for(k = 0; k < n - 1; ++k)
        for(i = 0; i < k + 1; ++i)
                sum[k] += mas[i][i];
 
    for(k = m / 2; k < m; ++k)
        for(i = k - m/2 + 1; i < n; ++i)
            sum[k] += mas[i][i];
 
    std::cout<<"\nСуммы элементов диагоналей, параллельных побочной:\n";
    for(i = 0; i < m; ++i)
        std::cout<<sum[i]<<' ';
 
    for(i = 0; i < m; ++i)
        if(sum[i] > max)
            max = sum[i];
    std::cout<<"\n\nМаксимальная сумма:\n"<<max<<std::endl;
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2017, 19:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В матрице найти максимум среди сумм элементов диагоналей, параллельных главной диагонали (C++):

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

Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
Задана целочисленная квадратная матрица A(N x N). Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

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

Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
надо короче чтоб прога искала максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. У меня если квадратная...

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

Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
Народ!!! Скиньте кто-нибудь код, завтра сдавать уже!!!

1
marat_miaki
148 / 137 / 50
Регистрация: 08.04.2013
Сообщений: 549
14.05.2017, 07:14 #2
вторая ну а первую сам догадайся, ну и побочную если не надо, уберешь сам
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
// Программа находит сумму каждой побочной диагонали в квадратной матрице
#include <iostream>
#include<iomanip>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main(int argc, char** argv)
{
  setlocale(LC_ALL, "Rus");
int N;
cout << "Введите размер массива -> ";
cin>>N;
int msum[N-1];
int **a=new int* [N];
for (int i = 0; i < N; i++) {
a[i] = new int [N];
}
srand(time(0));
cout<< "Исходный массив" <<endl;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
a[i][j] = (rand() % 20);
cout << setw(4) << a[i][j] ;
}
cout << endl;
}
cout << endl;
//=========================================================//
int sum,k,v=0;
for (int i = 0; i < N *2-1; ++i) {
 sum = 0;
 k = i;
 if (i >=  N) { k = N-1; ++v;};
 
for (int j = k; j > v-1 ; --j) {
sum+=a[k+v-j][j];
}
cout <<"Сумма "<< i <<" диагонали -> "<< sum << endl;
msum[k+v]=sum;
}
//-------------------------------------------------------//
    std::cout<<"\nСуммы элементов диагоналей, параллельных побочной:\n";
    for(int i = 0; i < N*2-1; ++i)
        std::cout<<msum[i]<<' ';
 
     int min =msum[0];
    for(int i = 0; i < N*2-1; ++i)
        if(msum[i] < min)
            min = msum[i];
    std::cout<<"\n\nМинимальная сумма:\n"<<min<<std::endl;
 
 
for (int i = 0; i < N; i++) {
delete []a[i];
}
delete[] a;
system ("PAUSE");
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2017, 07:14
Привет! Вот еще темы с ответами:

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

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

Найти максимум среди сумм элементов диагоналей, параллельных побочной диагонали - C++
Никак мозг не хочет повернуться, что бы понять как делается этот цикл for. У нас есть матрица (к примеру 5*5), надо найти максимум среди...

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


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

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

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