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

Дана целочисленная квадратная матрица. Опередить: - C++

Восстановить пароль Регистрация
 
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
22.01.2014, 21:49     Дана целочисленная квадратная матрица. Опередить: #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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/
#include <iostream>
using namespace std;
int main()
{
int N; // размер массива
int A[9][9]; // целочисленный массив
int Pro; // произведение элементов
int Sum; // сумма элементов диагоналей
int Max; // максимум среди сумм
bool bol; // флаг наличия отрицательного числа
// ввод данных
cout << "Vvedite N=" ; // вывод строки
cin >>N; // считываем значение стороны
// Решение
cout<<"Vvedite "<< N <<" strok po "<< N <<" elementov."<<endl;
for (int i=1;i<=N;i++){
cout<<i<<") ";
for (int j=1;j<=N;j++)
{
cin>>A[i][j]; // формирование массива
}
}
cout <<"Otvet" << endl; // вывод результата
// 1)Первое задание
for (int i=1;i<=N;i++)
{
Pro=1;
bol = true ;
for (int j=1;j<=N;j++)
{
if(A[i][j]<0)bol = false ;
Pro*=A[i][j];
}
if (bol){ cout<<"dobytok elementov "<<i<<" stroki PRO="<<Pro<<endl;}
}
// 2)Первое задание
Max=A[1][1];
for (int i=1;i<=N;i++)
{
// проверка диагоналей со строки
Sum=0;
for (int jj=1;jj<=(N-i+1);jj++)
{
{Sum+=A[jj][jj+i-1];}
}
if (Sum>Max){Max=Sum;}
// проверка диагоналей со столбца
Sum=0;
for (int jj=1;jj<=(N-i+1);jj++){
{Sum+=A[jj+i-1][jj];}
}
if (Sum>Max){Max=Sum;}
}
cout<<"max sredi sum elementov diagonalej = "<<Max<<endl;
system("PAUSE");
return 0;
}


1 пункт у меня работает. а вот 2 не нравится преподавателю((
помогите( она говорит там надо написать как то через
C
1
2
3
4
for (int j=1;j<N-i;j++)
for (int i=1;i<N-j;i++)
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 21:49     Дана целочисленная квадратная матрица. Опередить:
Посмотрите здесь:

Дана целочисленная квадратная матрица C++
Дана целочисленная квадратная матрица. C++
Дана целочисленная квадратная матрица C++
Дана целочисленная квадратная матрица C++
C++ Дана целочисленная квадратная матрица
C++ Дана целочисленная квадратная матрица
Дана целочисленная квадратная матрица C++
дана целочисленная квадратная матрица. определить: C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
22.01.2014, 21:54     Дана целочисленная квадратная матрица. Опередить: #2
Цитата Сообщение от Iren1 Посмотреть сообщение
Дана целочисленная квадратная матрица. Опередить:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include<iostream>
#include<iomanip>
#include<cstdlib>
#include<time.h>
 
using namespace std;
const int N = 4;
const int M = 4;
int main()
{
    setlocale(LC_ALL,"");
    srand(time(NULL));
    int Array[N][M];
    cout<<"Массив:\n";
    for(int i=0;i<N;i++)
    {
        cout<<endl;
        for(int j=0;j<M;j++)
        {
            Array[i][j] = rand()%20 - 5;
            cout<<setw(5)<<Array[i][j];
 
        }
    }
 
    cout<<endl;
    int sum;
    bool flag;
    for (int i=0; i<N; i++)
    {
        sum = 1;
        flag = true;
        for (int j=0; j<N; j++)
        {
            if (Array[i][j]<0)
            {
                flag = false;
                break;
            }
            sum*=Array[i][j];
        }
        if (flag)
            cout <<"\n "<<i + 1 <<" строка: " <<sum;
    }
 
    int SumMin=Array[0][N-1];
    int SumMax = Array[0][N-1];
    int t3,t4;
    for(int i=1; i<N; i++)
    {
        t3=t4=0;
        for(int j=0; j<N-i; j++)
        {
 
            t3+=Array[i+j][j];
            t4+=Array[j][i+j];
        }
        if(t3>SumMax) SumMax = t3; 
        if(t4>SumMax) SumMax = t4;
    }
    cout<<" \nМаксимальная сумма диагоналей паралельных главной = "<<SumMax<<endl;
 
    system("pause");
    return 0;
}
Yandex
Объявления
22.01.2014, 21:54     Дана целочисленная квадратная матрица. Опередить:
Ответ Создать тему
Опции темы

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