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

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

Восстановить пароль Регистрация
 
Eaglehorn
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 11
30.05.2013, 21:00     Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали #1
Составить функцию нахождения максимального элемента в диагонали матрицы,
параллельной главной диагонали. Используя эту функцию в матрице F[5,5]. Найти
сумму максимальных элементов всей диагонали, лежащих выше главной,
а в матрице E[7,7] - произведение минимальных элементов всей диагонали,
лежащих ниже главной

вот что смог сделать

Добавлено через 57 минут
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 <cstdlib>
#include <iomanip>
using namespace std;
void vvod(int [][5],int,int);
int s(int [][5],int ,int);
void vvod(int k[][5],int n,int m)
{
    for (int i=0;i<n;i++)
    {for (int j=0;j<m;j++)
    {k[i][j]=-35+(rand()%71);
    cout<<setw(3)<<k[i][j]<<" ";}
    cout<<endl;}
}
//------sum max --
int s(int k[][5],int n,int m)
{ int j=0;
    int  s=0;
    for (int i=0; i<n;i++){
            for (int i=0; i<j; i++)
            for (int i=0;i>j;i++)
                if(k[i][j]>0) s=s+k[i][j];
        }
    return s;
    }
int main()
{
    int F[5][5],x;
    vvod(F,5,5);
    x=s(F,5,5);
    cout<<x<<endl;
system("pause");    }


Добавлено через 3 часа 44 минуты
upp+++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 21:00     Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали
Посмотрите здесь:

C++ Найти произведение главной диагонали матрицы и всех диагоналей, параллельной данной
C++ Рассчитывается произведение минимального и максимального элемента ниже главной диагонали массовых
Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а диагонали матрицы, расположенные ниже главной, по возрастанию C++
C++ Максимум среди сумм элементов диагоналей, параллельной главной диагонали матрицы
C++ Составить функцию нахождения максимального элемента Мх в диагонали матрицы, параллельной главной диагонали
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SaymonGriffin
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 19
30.05.2013, 22:10     Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали #2
Тоесть тебе нужно найти сумму элементов лежащих выше главной побочной и произведение лежащих ниже главной?
Если да то вот тебе наводка, писать программу не буду, используй свойства матриц, там в зависимости от индексации элемента узнаешь где он лежит.
В //summax ты находишь сумму всех элементов которые больше нуля, не легче ли было через if вбить условие если I==j и I>j то суммируем все что больше нуля
Во второй матрице ты находишь произведение только в условии поменяешь I<j
Если я не прав, то извиняюсь, матрицы проходил пол года назад)
Eaglehorn
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 11
03.06.2013, 07:36  [ТС]     Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали #3
помогите пожалуйста люди никак не получается

Добавлено через 6 часов 35 минут
upp
Eaglehorn
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 11
05.06.2013, 09:08  [ТС]     Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали #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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
void vvod(int [][7],int,int);
int s(int [][7],int ,int);
int p(int [][7],int ,int);
 
void vvod(int k[][7],int n,int m)
{
    for (int i=0;i<n;i++)
    {for (int j=0;j<m;j++)
    {k[i][j]=-35+(rand()%71);
    cout<<setw(3)<<k[i][j]<<" ";}
    cout<<endl;}
}
//-----------------------------
int s(int k[][7],int n,int m)
{ int j=0; int max=0; int i=0;
    int  s=0;
    for (int i=0; i<n;i++){
    for (int j=0; j<m;j++)
               if ((i<j)&&(k[i][j]>max)) max=k[i][j];
    s=s+max;
    }
    return s;
    }
//--------------------------------
int p(int k[][7],int n,int m)
{ int j=0; int min=0;
    int  p=1;
    for (int i=0; i<n;i++){
    for (int j=0; j<m;j++)
                if ((i>j)&&(k[i][j]<min)) min=k[i][j];
    p=p*min; 
    }
    return p;
    }
int main()
{
    int F[7][7],x;
    int E[7][7],y;
    vvod(F,5,5);
    cout<<endl;
    vvod(E,7,7);
    x=s(F,5,5);
    cout<<endl;
    y=p(E,7,7);
    cout<<x<<endl;
    cout<<y<<endl;

вот что решил,но все равно не работает
Yandex
Объявления
05.06.2013, 09:08     Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали
Ответ Создать тему
Опции темы

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